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

mysql chọn từ n hàng cuối cùng

Bắt đầu từ câu trả lời được cung cấp bởi @chaos, nhưng với một số sửa đổi:

  • Bạn nên luôn sử dụng ORDER BY nếu bạn sử dụng LIMIT . Không có thứ tự ngầm nào được đảm bảo cho một bảng RDBMS. Bạn có thể thường lấy các hàng theo thứ tự của khóa chính, nhưng bạn không thể dựa vào điều này và cũng không phải là khóa di động.

  • Nếu bạn sắp xếp theo thứ tự giảm dần, bạn không cần biết trước số lượng hàng trong bảng.

  • Bạn phải cung cấp một tên tương quan (hay còn gọi là bí danh bảng) cho một bảng dẫn xuất.

Đây là phiên bản truy vấn của tôi:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối Metabase với MySQL để khám phá dữ liệu

  2. Ràng buộc khóa ngoại MySQL, xóa theo tầng

  3. Sử dụng khóa chính tổng hợp làm khóa ngoại

  4. Có bao nhiêu hàng trong cơ sở dữ liệu QUÁ NHIỀU?

  5. Python:Sử dụng mysqldb để nhập bảng MySQL làm từ điển?