Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào tôi có thể nhận được phân phối đồng đều bằng cách sử dụng WHERE id IN (1,2,3,4)

Bằng cách đặt các biến số hàng khác nhau, rồi lọc kết quả đó để chỉ hiển thị hàng 1-3 mới hoạt động

SET @last_objectId = 0;
SET @count_objectId = 0;
SELECT id, name, image FROM (
SELECT
 user.id,
 user.name,
 user.image,
 @count_objectId := IF(@last_objectId = rating.objectId, @count_objectId, 0) + 1 AS rating_row_number,
 @last_objectId := rating.objectId
FROM users
LEFT JOIN ratings ON (ratings.userid = user.id)
WHERE
 rating.rating > 0 AND
 rating.objectId IN (1,2,3,4)
ORDER BY rating.objectId
) AS subquery WHERE rating_row_number <= 3;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. playframework 2.0 - đã vượt quá max_user_connections về diễn biến cơ sở dữ liệu?

  2. Tôi có thể sử dụng độc lập lớp cơ sở dữ liệu của Laravel không?

  3. Làm cách nào để nối hai bảng và so sánh chúng? (Tôi đã hỏi nhiều lần, nhưng tôi không thể tìm thấy câu trả lời.)

  4. Không thể tải Trình điều khiển QMYSQL trên PySide2

  5. Lỗi bị từ chối từ Java sang MySQL