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

Xếp hạng MYSQL SELECT của người dùng (nhiều hơn x &ít hơn y)

Bạn có thể làm như thế này

SELECT
  tu.id,
  tr.name,
  tu.points
FROM table_ranks as tr
  LEFT JOIN (SELECT * FROM table_ranks LIMIT 1,69596585953484) as l
    ON l.points_needed = (SELECT MIN(points_needed) FROM table_ranks WHERE points_needed > tr.points_needed limit 1)
  LEFT OUTER JOIN table_users AS tu ON tu.points >= tr.points_needed AND tu.points < l.points_needed
WHERE tu.id IS NOT NULL
group by tu.id

Fiddle

Đầu ra

-------------------------
| id  | points   | name |
-------------------------
| 1   |   lvl0   | 2    |
| 2   |   lvl1   | 10   |
| 3   |   lvl2   | 21   |
| 4   |   lvl2   | 29   |
-------------------------


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không nên sử dụng các hàm mysql_ * trong PHP?

  2. Không thể lấy số hàng và tìm nạp khi sử dụng câu lệnh chuẩn bị MySQLi

  3. lỗi thời gian chạy:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

  4. Trong MySQL, hàm CHAR () hoạt động kỳ lạ

  5. Jar trong thư viện bên ngoài nhưng không thể nhập trong mã