Rumah >pangkalan data >tutorial mysql >Bagaimanakah anda mendapatkan semula jumlah baris walaupun menggunakan penomboran dengan LIMIT dalam SQL?

Bagaimanakah anda mendapatkan semula jumlah baris walaupun menggunakan penomboran dengan LIMIT dalam SQL?

Susan Sarandon
Susan Sarandonasal
2024-10-27 15:29:01903semak imbas

How do you retrieve the total number of rows even when using pagination with LIMIT in SQL?

Dapatkan Jumlah Baris Walaupun Menggunakan Penomboran dengan LIMIT

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.

SQL_CALC_FOUND_ROWS dan FOUND_ROWS()

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().

Ditamatkan dalam MySQL 8.0

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>

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn