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

Giải pháp xếp hạng SQL

Truy vấn được sửa đổi một chút từ bài viết trong blog của tôi:

SELECT  q.*,
        @r := @r + 1
FROM    (
        SELECT  @_acl_id := -1,
                @r := 0
        ) vars
STRAIGHT_JOIN
        (
        SELECT  acl.id AS acl_id, quote.id AS quote_id
        FROM    acl
        JOIN    quote
        ON      (acl.limiter IS NULL OR quote.reputation >= acl.limiter)
        ORDER BY
                acl.id ASC, quote.created_at DESC
        ) q
WHERE   CASE WHEN @_acl_id <> acl_id THEN @r := 0 ELSE 0 END IS NOT NULL
        AND (@_acl_id := acl_id) IS NOT NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buộc tải lại / làm mới khi nhấn nút quay lại

  2. Tham gia đầy đủ bên ngoài SQL với nhiều bảng

  3. mysql sang csv mà không sử dụng INTO OUTFILE của mysql

  4. Kỹ sư đảo ngược định nghĩa lớp khai báo SQLAlchemy từ cơ sở dữ liệu MySQL hiện có?

  5. cập nhật hàng loạt bảng mysql giá trị thập phân và thay đổi loại trường cột