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

Xếp hạng mySQL trong Truy vấn Điểm cao

Ý tưởng là hỏi "có bao nhiêu người chơi xếp hạng trên @this_user":

select count(*) + 1 from 
(
    /* list of all users */
    SELECT SUM( p.points ) AS sum_points
    FROM user u
    LEFT JOIN points p ON p.user_id = u.id
    GROUP BY u.id        
) x
/* just count the ones with higher sum_points */
where sum_points > (select sum(points) from points where user_id = @this_user)

Đã chỉnh sửa để tạo kết quả dựa trên 1 thay vì dựa trên 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP và mysql không CHÈN

  2. Giữ lại các giá trị hộp văn bản ngay cả sau khi làm mới

  3. cách chèn datetime trong mysql bằng php

  4. SQL một cột đánh số - MySQL

  5. Chính xác thì M, D có nghĩa là gì trong hệ thập phân (M, D)?