Riunix's Blog
Menghitung total record di MySql
Post at Thu, 09.October.2008 02:23:48 PM .
Hit: 8177 . Comment: 8
Hit: 8177 . Comment: 8
Sering kali kita memerlukan jumlah data/record yang kita miliki dalam satu table untuk berbagai keperluan, misal untuk keperluan paging, untuk kebutuhan reporting, dan lain-lain. Nah, cara gimana akan saya jelaskan dibawah ini.
Contoh :
tbl_mhs
Kita dapat menggunakan fungsi count( nama field ) yang dimiliki oleh MySql . Fungsi count ini digunakan untuk menghitung jumlah baris sesuai dengan kondisi dalam query kita. Misalkan sekarang saya mau menghitung jumlah mahasiswa yang tahun_masuknya 2007, maka dapat menggunakan query :
count(id_mhs) => sebenarnya tidak harus menggunakan id_mhs, kita dapat menggunakan field lain, yang penting ada field yang digunakan untuk dihitung, atau bisa juga menggunakan count(*).
Nah, cara di atas adalah cara sederhana untuk menghitung jumlah record. Sekarang akan saya jelaskan untuk kasus paging , biasanya untuk pertama kali kita lakukan 'select' data terlebih dahulu yang mana datanya untuk ditampilkan pada halaman website, setelah itu kita cari total record di database untuk keperluan generate link paging halaman,contoh seperti query dibawah ini :
query 1 : select * from tbl_mhs where tahun_masuk>=2004 limit 10,2;
query 2 : select count(id_mhs) from tbl_mhs where tahun_masuk>=2004;
Pertama kita lakukan select data dengan limit sesuai sistem paging masing-masing ( ini dilakukan biasanya untuk mendapatkan record-record untuk ditampilkan ke halaman website), kemudian diperlukan data total record yang dimiliki table (tanpa limit) tetapi memiliki kondisi(where) yang sama, maka dilakukan query kedua. Cara ini bisa dilakukan tapi menurut saya kurang efektif karena kita melakukan statement pengambilan data ke table sebanyak 2x. Nah, ada cara supaya lebih efektif, yaitu :
query 1 :
query 2 :
Dengan menambahkan
Mudah-mudahan tips ini berguna
.
Contoh :
tbl_mhs
| id_mhs | Nama | tahun_masuk |
| 1 | Charles | 2004 |
| 2 | Susi | 2003 |
| 3 | Liliana | 2004 |
| 4 | Joko | 2004 |
| 5 | Merry | 2007 |
Kita dapat menggunakan fungsi count( nama field ) yang dimiliki oleh MySql . Fungsi count ini digunakan untuk menghitung jumlah baris sesuai dengan kondisi dalam query kita. Misalkan sekarang saya mau menghitung jumlah mahasiswa yang tahun_masuknya 2007, maka dapat menggunakan query :
| SELECT count(id_mhs) FROM tbl_mhs WHERE tahun_masuk='2007'; |
Nah, cara di atas adalah cara sederhana untuk menghitung jumlah record. Sekarang akan saya jelaskan untuk kasus paging , biasanya untuk pertama kali kita lakukan 'select' data terlebih dahulu yang mana datanya untuk ditampilkan pada halaman website, setelah itu kita cari total record di database untuk keperluan generate link paging halaman,contoh seperti query dibawah ini :
query 1 : select * from tbl_mhs where tahun_masuk>=2004 limit 10,2;
query 2 : select count(id_mhs) from tbl_mhs where tahun_masuk>=2004;
Pertama kita lakukan select data dengan limit sesuai sistem paging masing-masing ( ini dilakukan biasanya untuk mendapatkan record-record untuk ditampilkan ke halaman website), kemudian diperlukan data total record yang dimiliki table (tanpa limit) tetapi memiliki kondisi(where) yang sama, maka dilakukan query kedua. Cara ini bisa dilakukan tapi menurut saya kurang efektif karena kita melakukan statement pengambilan data ke table sebanyak 2x. Nah, ada cara supaya lebih efektif, yaitu :
query 1 :
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_mhs where tahun_masuk>=2004 limit 10,2;query 2 :
SELECT FOUND_ROWS(); Dengan menambahkan
SQL_CALC_FOUND_ROWS setelah 'select' maka kita bisa mendapatkan total record yang ada di dalam table di luar limit yang diberikan pada query 1. Hanya dengan memanggil query kedua (yg menggunakan perintah FOUND_ROWS() ) , kita bisa mendapatkan total record tanpa harus melakukan statement pengambilan data ulang dan diberi perintah count. Dari contoh table di atas , maka perintah FOUND_ROWS() akan mengembalikan angka 4 (record yang memiliki tahun_masuk lebih besar sama dengan 2004 ada 4 record), walaupun pada query 1 menggunakan limit 10,2. Mudah-mudahan tips ini berguna
.
Comments for "Menghitung total record di MySql"
thx Aiu uda mampir ke blog saya dan uda comment :)
Tulisan yang bagus, terimakasih
Terimakasih Informasinya
Salam kenal
Salam kenal
@pujianto: salam kenal juga..thx sudah berkunjung
lovesql
23.January.2011 11:41:52 PM
g nambah ilmu blazzz
wah bermanfaat nih bagi gw :)
trus kalo ngegabungin view,,yg didalmnya ad row untuk count gmn kk???
pake mysql...
pake mysql...
sangat berguna sekali...
--terus semangat dalam menulis--
^^