Mengira Baris dalam Pertanyaan MySQL dengan LIMIT
Apabila menjalankan pertanyaan MySQL dengan klausa LIMIT, pengguna sering menghadapi cabaran untuk mendapatkan jumlah keseluruhan secara serentak bilangan baris yang sepadan dengan syarat pertanyaan. Ini timbul disebabkan oleh kekangan LIMIT untuk memulangkan hanya bilangan baris tertentu.
Untuk mengatasi had ini, teknik yang dikenali sebagai kaedah subquery boleh digunakan. Untuk mencapai matlamat ini, masukkan sintaks berikut ke dalam pertanyaan anda:
SELECT SQL_CALC_FOUND_ROWS ...;
Pernyataan ini memulakan pengiraan baris pada peringkat SQL, menyimpan kiraan dalam pembolehubah sementara.
Untuk mendapatkan semula kira, jalankan pertanyaan seterusnya:
SELECT FOUND_ROWS();
Sebagai contoh, pertimbangkan pertanyaan berikut:
SELECT A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10
Untuk mendapatkan kedua-dua baris yang ditapis dan jumlah kiraan, gunakan pertanyaan berikut:
SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10; SELECT FOUND_ROWS();
Teknik ini memberi kuasa kepada pengguna untuk mengira baris dalam pertanyaan dengan cekap menggunakan klausa LIMIT tanpa menggunakan pertanyaan tambahan.
Atas ialah kandungan terperinci Bagaimana Mengira Baris dengan LIMIT dalam Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!