Bagaimanakah Anda Mendapatkan Jumlah Kiraan Baris Apabila Menggunakan `LIMIT` dalam Pertanyaan MySQL?

DDD
Lepaskan: 2024-11-13 05:50:02
asal
635 orang telah melayarinya

How Do You Get the Total Row Count When Using `LIMIT` in MySQL Queries?

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan