Mengira Baris dengan SELECT dan LIMIT dalam MySQL
Dalam MySQL, klausa LIMIT boleh digunakan untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan. Walau bagaimanapun, apabila menggunakan LIMIT, mungkin sukar untuk mendapatkan jumlah bilangan baris dalam jadual yang memenuhi syarat pertanyaan.
Pertimbangkan pertanyaan berikut, yang mendapatkan semula 10 baris pertama daripada cantuman antara dua jadual , jadual1 dan jadual2, berdasarkan syarat tertentu (cond1, cond2, ..., condN):
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 semula jumlah baris yang memenuhi syarat ini tanpa mengeluarkan pertanyaan lain tanpa LIMIT, MySQL menyediakan kata kunci SQL_CALC_FOUND_ROWS. Dengan memasukkan SQL_CALC_FOUND_ROWS ke dalam pertanyaan awal, MySQL mengira jumlah bilangan baris sebelum menggunakan 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
Selepas melaksanakan pertanyaan ini, jumlah kiraan baris boleh diperoleh menggunakan pertanyaan berasingan berikut:
SELECT FOUND_ROWS();
Dengan menggabungkan dua pertanyaan ini, anda boleh mengehadkan bilangan baris yang dikembalikan dan mendapatkan jumlah kiraan baris, tanpa memerlukan pertanyaan tambahan.
Atas ialah kandungan terperinci Bagaimana Mengira Jumlah Baris Semasa Menggunakan LIMIT dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!