Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Jumlah Baris Semasa Menggunakan LIMIT dalam MySQL?

Bagaimana Mengira Jumlah Baris Semasa Menggunakan LIMIT dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-12 00:02:03913semak imbas

How to Count Total Rows While Using LIMIT in MySQL?

Mengira Baris dengan SELECT dan LIMIT dalam MySQL

Dalam MySQL, klausa LIMIT boleh digunakan untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan. Walau bagaimanapun, apabila menggunakan LIMIT, mungkin sukar untuk mendapatkan jumlah bilangan baris dalam jadual yang memenuhi syarat pertanyaan.

Pertimbangkan pertanyaan berikut, yang mendapatkan semula 10 baris pertama daripada cantuman antara dua jadual , jadual1 dan jadual2, berdasarkan syarat tertentu (cond1, cond2, ..., condN):

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 semula jumlah baris yang memenuhi syarat ini tanpa mengeluarkan pertanyaan lain tanpa LIMIT, MySQL menyediakan kata kunci SQL_CALC_FOUND_ROWS. Dengan memasukkan SQL_CALC_FOUND_ROWS ke dalam pertanyaan awal, MySQL mengira jumlah bilangan baris sebelum menggunakan 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

Selepas melaksanakan pertanyaan ini, jumlah kiraan baris boleh diperoleh menggunakan pertanyaan berasingan berikut:

SELECT FOUND_ROWS();

Dengan menggabungkan dua pertanyaan ini, anda boleh mengehadkan bilangan baris yang dikembalikan dan mendapatkan jumlah kiraan baris, tanpa memerlukan pertanyaan tambahan.

Atas ialah kandungan terperinci Bagaimana Mengira Jumlah Baris Semasa Menggunakan LIMIT dalam 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