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

Chọn N bản ghi tuyệt vời nhất trong X nhóm

SELECT catX.category
       catX.interest
       t1.user_id
       t1.score
FROM 
    ( SELECT category 
           , interest 
      FROM tableX 
      WHERE user_id = @user_id_we_are_interested_in     --- specific user 
      ORDER BY interest DESC
      LIMIT @X                         --- top @X categories per specific user 
    ) AS catX 
  JOIN 
    tableX AS t1 
      ON t1.category = catX.category 
  LEFT JOIN 
    tableX AS t2 
      ON  t2.category = t1.category 
      AND t2.score > t1.score 
  GROUP BY t1.category
         , t1.user_id
  HAVING COUNT(t2.score) < @N                      --- top @N users per category 
  ORDER BY catX.interest DESC 
         , t1.score DESC 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cấu trúc lại một cơ sở dữ liệu xấu với các vòng lặp PHP hoặc MySQL

  2. lỗi tìm kiếm toàn văn bản mysql

  3. sẽ hiển thị trạng thái bảng hiển thị các hàng chính xác trong bảng?

  4. Tôi không thể đăng nhập vào bản sao Magento cục bộ của mình - làm thế nào để sử dụng mật khẩu bị mất với bản sao cục bộ của phần mềm?

  5. mysql chèn một lúc vào 2 bảng có khóa chính và khóa ngoại