Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Baris Melebihi LIMIT dalam Pertanyaan MySQL?

Bagaimana Mengira Baris Melebihi LIMIT dalam Pertanyaan MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-12 09:43:01450semak imbas

How to Count Rows Beyond LIMIT in MySQL Queries?

Mengira Baris Melebihi LIMIT dalam Pertanyaan MySQL

Masalah:

Apabila melaksanakan pertanyaan MySQL dengan klausa LIMIT, ia boleh mencabar untuk mendapatkan jumlah bilangan baris dalam jadual yang memenuhi syarat pertanyaan. Ini adalah benar terutamanya apabila menggunakan pernyataan JOIN kompleks dan klausa WHERE.

Penyelesaian:

Untuk menangani isu ini, MySQL menyediakan kata kunci SQL_CALC_FOUND_ROWS. Apabila kata kunci ini digunakan, ia mengarahkan MySQL untuk mengira jumlah bilangan baris yang akan diambil tanpa klausa LIMIT.

Contoh:

Pertimbangkan MySQL berikut pertanyaan:

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 jumlah bilangan baris tanpa klausa LIMIT, laksanakan dua pernyataan berikut dalam susunan yang sama:

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

Pernyataan pertama mengira jumlah baris yang memuaskan syarat pertanyaan, manakala pernyataan kedua mendapatkan semula jumlah kiraan daripada fungsi FOUND_ROWS().

Atas ialah kandungan terperinci Bagaimana Mengira Baris Melebihi LIMIT dalam Pertanyaan MySQL?. 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