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

Làm thế nào để có được một thứ hạng hàng?

Cách tiếp cận truy vấn con mà bạn đã thấy được đề xuất sẽ chia tỷ lệ bậc hai. http:// www. xaprb.com/blog/2006/12/02/how-to-number-rows-in-mysql/ cho thấy một cách tiếp cận hiệu quả hơn nhiều với các biến người dùng. Đây là một bản điều chỉnh chưa được thử nghiệm cho vấn đề của bạn:

@points := -1; // Should be an impossible value.
@num := 0;

SELECT id
  , points
  , @num := if(@points = points, @num, @num + 1) as point_rank
  , @points := points as dummy
FROM `users`
ORDER BY points desc, id asc;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để loại bỏ ràng buộc Not Null trong MySQL

  2. chọn nhiều hàng trong một hàng kết quả

  3. Làm thế nào để hiển thị các bản ghi phụ trong hàng con của bảng dữ liệu với id tương ứng?

  4. Cập nhật giá trị AUTO_INCREMENT của tất cả các bảng trong cơ sở dữ liệu MySQL

  5. mysql_fetch_array () / mysql_fetch_assoc () / mysql_fetch_row () / mysql_num_rows etc ... mong muốn tham số 1 là tài nguyên