Mencari Kiraan Baris Walaupun LIMIT dalam Pertanyaan MySQL
Pertanyaan MySQL dengan klausa LIMIT membolehkan anda mengehadkan bilangan baris yang dikembalikan. Tetapi bagaimana jika anda juga perlu mendapatkan jumlah bilangan baris yang sepadan dengan pertanyaan?
Pertanyaan dengan LIMIT Klausa dan Kiraan Baris
Pertimbangkan pertanyaan berikut yang mendapatkan semula subset baris daripada dua jadual menggunakan JOIN:
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
Pertanyaan ini akan mengembalikan yang pertama 10 baris yang memenuhi syarat yang ditetapkan.
Penyelesaian Menggunakan SQL_CALC_FOUND_ROWS
Untuk mendapatkan jumlah bilangan baris, anda boleh menggunakan fungsi SQL_CALC_FOUND_ROWS bersama-sama dengan klausa LIMIT:
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();
Fungsi SQL_CALC_FOUND_ROWS menetapkan kiraan baris dalaman pembolehubah sebelum melaksanakan pertanyaan dengan klausa LIMIT. Fungsi FOUND_ROWS() kemudian mendapatkan semula nilai pembolehubah ini, mewakili jumlah bilangan baris yang akan dikembalikan tanpa LIMIT.
Dengan menggunakan teknik ini, anda boleh mendapatkan kedua-dua subset terhad baris dan jumlah kiraan baris tanpa memerlukan pertanyaan tambahan.
Atas ialah kandungan terperinci Bagaimanakah Anda Mendapatkan Jumlah Kiraan Baris Apabila Menggunakan `LIMIT` dalam Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!