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

Nhận kết quả truy vấn đếm khi bỏ qua câu lệnh LIMIT

MySQL hỗ trợ FOUND_ROWS() chức năng để tìm số hàng không giới hạn sẽ được trả về từ truy vấn giới hạn trước đó.

SELECT SQL_CALC_FOUND_ROWS * FROM blah WHERE disabled = '0'  LIMIT 10,20
SELECT FOUND_ROWS();

Lưu ý rằng (a) bạn cần bao gồm SQL_CALC_FOUND_ROWS và (b) rằng đây là một tiện ích mở rộng MySQL cụ thể sẽ không hoạt động trên một RDBMS khác (mặc dù chúng đều có thể có cách riêng của họ để làm điều này.)

Đây không nhất thiết là cách tốt nhất để làm mọi việc, ngay cả khi bạn cảm thấy thích nó; bạn vẫn phải đưa ra hai câu lệnh, bạn đang giới thiệu SQL không chuẩn và COUNT thực tế ing có thể là một tốc độ tương tự như một SELECT COUNT(*)... đơn giản dù sao. Bản thân tôi muốn tuân theo cách làm tiêu chuẩn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giao dịch MySQL:CHỌN + CHÈN

  2. Truy vấn Mysql tới ElasticSearch

  3. MySql - Cách nối hai bảng nhưng có giá trị không chính xác nhưng tương tự

  4. cách tối ưu hóa truy vấn này (liên quan đến bảng 4 mm)

  5. Câu lệnh xóa Mysql có giới hạn