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.