Mencari Jumlah Hasil dengan Offset dan Had dalam MySQL
Penomboran membenarkan pengguna menyemak imbas set data yang besar dalam bahagian yang boleh diurus. Walau bagaimanapun, untuk menentukan jumlah halaman memerlukan mengetahui jumlah hasil. Apabila menggunakan offset dan had untuk penomboran, nampaknya tidak cekap untuk menjalankan pertanyaan yang sama dua kali, sekali dengan had dan sekali tanpa.
SQL_CALC_FOUND_ROWS: Penyelesaian
Untuk menangani isu ini, MySQL menyediakan kata kunci khas: SQL_CALC_FOUND_ROWS. Dengan menambahkan kata kunci ini pada permulaan pertanyaan anda, MySQL akan mengira dan menyimpan jumlah bilangan baris yang akan dikembalikan tanpa klausa LIMIT.
Contoh Pertanyaan:
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM table_name WHERE category_id = '1' ORDER BY date_created DESC LIMIT 10 OFFSET 20;</code>
Mendapatkan Jumlah Bilangan Keputusan:
Selepas melaksanakan pertanyaan di atas, anda boleh menggunakan kod PHP berikut untuk mendapatkan jumlah bilangan hasil:
<code class="php">$totalRows = $db->query('SELECT FOUND_ROWS() AS total')->row()->total;</code>
Faedah SQL_CALC_FOUND_ROWS:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Jumlah Kiraan Keputusan dalam Penomboran MySQL dengan Offset dan Had?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!