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

Susan Sarandon
Lepaskan: 2024-10-27 15:29:01
asal
806 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!