Rumah >pangkalan data >tutorial mysql >Bagaimanakah anda mendapatkan semula jumlah baris walaupun menggunakan penomboran dengan LIMIT dalam SQL?
Apabila membuat penomboran hasil dengan klausa LIMIT dalam SQL, mungkin menyusahkan untuk menjalankan pertanyaan dua kali untuk mendapatkan jumlah bilangan baris. Ini adalah benar terutamanya untuk pertanyaan kompleks yang mengambil masa yang banyak untuk dilaksanakan. Nasib baik, terdapat penyelesaian yang membolehkan anda melakukan ini dengan satu pertanyaan.
Bermula dengan MySQL 4.0.0, anda boleh menggunakan pilihan SQL_CALC_FOUND_ROWS dalam pertanyaan utama anda untuk memaklumkan MySQL untuk mengira jumlah baris sambil mengabaikan klausa LIMIT. Ini memerlukan anda melaksanakan pertanyaan kedua untuk mendapatkan semula kiraan baris. Walau bagaimanapun, pertanyaan ini biasanya lebih mudah dan lebih pantas daripada pertanyaan pengambilan data utama.
Begini cara menggunakannya:
<code class="sql">SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; SELECT FOUND_ROWS();</code>
Pertanyaan kedua serta-merta selepas yang pertama menangkap jumlah baris mengira menggunakan fungsi FOUND_ROWS().
Dalam MySQL versi 8.0.17 dan kemudian, pengubah suai SQL_CALC_FOUND_ROWS dan fungsi FOUND_ROWS() telah ditamatkan dan akan dialih keluar dalam keluaran masa hadapan. Dokumentasi MySQL kini mengesyorkan menggunakan COUNT sebaliknya untuk mendapatkan jumlah kiraan baris.
Contohnya:
<code class="sql">SELECT * FROM tbl_name WHERE id > 100 LIMIT 10; SELECT COUNT(*) WHERE id > 100;</code>
Dengan memanfaatkan teknik ini, anda boleh mendapatkan semula dengan berkesan jumlah bilangan baris walaupun semasa menggunakan penomboran dengan klausa LIMIT, meningkatkan kecekapan pertanyaan anda dan memperkemas kod anda.
Atas ialah kandungan terperinci Bagaimanakah anda mendapatkan semula jumlah baris walaupun menggunakan penomboran dengan LIMIT dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!