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

Có thể có một truy vấn SQL bất khả tri cơ sở dữ liệu để tìm nạp N hàng trên cùng không?

Để có được 5 cầu thủ ghi bàn hàng đầu từ bảng này:

CREATE TABLE people
             (id      int, 
              name    string, 
              score   int)

hãy thử SQL này:

SELECT id, 
       name, 
       score
FROM   people  p
WHERE  (SELECT COUNT(*) 
        FROM   people p2
        WHERE  p2.score  > p.score 
       ) <=4 

Tôi tin rằng điều này sẽ hoạt động ở hầu hết các nơi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LIMIT bù đắp hoặc OFFSET trong một truy vấn SQL CẬP NHẬT

  2. Không thể kết nối với máy chủ MySQL từ xa với lỗi 61

  3. Chèn và cập nhật dữ liệu tệp CSV vào bảng MySQL bằng PHP

  4. Không có dữ liệu nào được cung cấp cho các tham số trong câu lệnh đã chuẩn bị

  5. Sử dụng cơ sở dữ liệu NoSQL trên MySQL