Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dapatkan jumlah total baris saat menggunakan LIMIT?

Untungnya sejak MySQL 4.0.0 Anda dapat menggunakan SQL_CALC_FOUND_ROWS opsi dalam kueri Anda yang akan memberi tahu MySQL untuk menghitung jumlah total baris dengan mengabaikan LIMIT ayat. Anda masih perlu menjalankan kueri kedua untuk mengambil jumlah baris, tetapi ini adalah kueri yang sederhana dan tidak serumit kueri Anda yang mengambil data. Penggunaannya cukup sederhana. Dalam permintaan utama Anda, Anda perlu menambahkan SQL_CALC_FOUND_ROWS pilihan tepat setelah SELECT dan dalam kueri kedua Anda perlu menggunakan FOUND_ROWS() berfungsi untuk mendapatkan jumlah baris. Kueri akan terlihat seperti ini:

SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;

SELECT FOUND_ROWS();

Satu-satunya batasan adalah Anda harus memanggil kueri kedua segera setelah yang pertama karena SQL_CALC_FOUND_ROWS tidak menyimpan jumlah baris di mana pun. Meskipun solusi ini juga memerlukan dua kueri, ini jauh lebih cepat, karena Anda hanya menjalankan kueri utama sekali. Anda dapat membaca lebih lanjut tentang SQL_CALC_FOUND_ROWS dan FOUND_ROWS() di dokumen MySQL.

EDIT: Anda harus mencatat bahwa dalam kebanyakan kasus menjalankan kueri dua kali sebenarnya lebih cepat daripada SQL_CALC_FOUND_ROWS . lihat di sini

EDIT 2019:

Pengubah kueri SQL_CALC_FOUND_ROWS dan fungsi FOUND_ROWS() yang menyertainya tidak digunakan lagi pada MySQL 8.0.17 dan akan dihapus di versi MySQL mendatang.

https://dev.mysql.com /doc/refman/8.0/en/information-functions.html#function_found-rows

Disarankan untuk menggunakan COUNT sebagai gantinya

SELECT * FROM tbl_name WHERE id > 100 LIMIT 10;
SELECT COUNT(*) WHERE id > 100;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menampilkan gambar yang disimpan dalam gumpalan mysql

  2. Pilih Database MySQL di Linux melalui Command Line

  3. Tidak dapat terhubung ke server MySQL kesalahan 111

  4. Membandingkan Percona XtraBackup dengan MySQL Enterprise Backup:Bagian Satu

  5. Cara Mendapatkan Data 12 Bulan Terakhir di MySQL