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

Làm cách nào để chọn hàng thứ n trong bảng cơ sở dữ liệu SQL?

Có nhiều cách để thực hiện việc này trong các phần tùy chọn của tiêu chuẩn, nhưng rất nhiều cơ sở dữ liệu hỗ trợ cách làm của riêng họ.

Một trang web thực sự tốt nói về điều này và những thứ khác là http:// troels. arvin.dk/db/rdbms/#select-limit .

Về cơ bản, PostgreSQL và MySQL hỗ trợ phi tiêu chuẩn:

SELECT...
LIMIT y OFFSET x 

Oracle, DB2 và MSSQL hỗ trợ các chức năng cửa sổ tiêu chuẩn:

SELECT * FROM (
  SELECT
    ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
    columns
  FROM tablename
) AS foo
WHERE rownumber <= n

(mà tôi vừa sao chép từ trang web được liên kết ở trên vì tôi không bao giờ sử dụng các DB đó)

Cập nhật: Kể từ PostgreSQL 8.4, các chức năng cửa sổ tiêu chuẩn được hỗ trợ, vì vậy hãy mong đợi ví dụ thứ hai cũng hoạt động cho PostgreSQL.

Cập nhật: SQLite đã thêm các chức năng cửa sổ hỗ trợ trong phiên bản 3.25.0 vào ngày 2018-09-15 để cả hai biểu mẫu cũng hoạt động trong SQLite.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chọn tên cột có khoảng trắng trong MySQL

  2. MySQL, Giúp người dùng xếp hạng

  3. Tối ưu hóa hiệu suất truy vấn trong MySQL

  4. Hiển thị (Danh sách) Cơ sở dữ liệu MySQL trên Linux qua Dòng lệnh

  5. Thông báo ClusterControl 1.4.1 - Phiên bản ProxySQL