MySQL memiliki beberapa dukungan khusus untuk hal semacam ini. Pertama, sertakan SQL_CALC_FOUND_ROWS
di PILIHAN Anda:
SELECT SQL_CALC_FOUND_ROWS *
FROM Badges
WHERE UID = '$user'
ORDER by Date DESC
LIMIT 10 -- Or whatever
Kemudian tarik baris Anda dan segera lihat FOUND_ROWS()
seperti ini:
SELECT FOUND_ROWS()
untuk mendapatkan jumlah baris yang cocok dengan kueri asli Anda tanpa mempertimbangkan klausa LIMIT.
Ini khusus untuk MySQL tetapi seharusnya sedikit lebih cepat daripada melakukan dua kueri.