Query Mengambil Data Terakhir di GROUP BY MySQL
Pada kesempatan kali ini kita akan membahas cara mengambil data terakhir di group by mysql, pada saat kita memakai fungsi group by di mysql maka data akan di kelompokan menjadi satu sesuai kolom apa yg di kelompokan.
pada kasus tertentu kita dihadapkan untuk menampilkan kolom yg lain sedangkan datanya berbeda-beda. ini sebernanya sudah di bahas di tutorial sebelumnya yaitu cara menggunakan group concat. tetapi beda kasus data yang di tampilkan kali ini harus satu dan yang terakhir di input/masuk
langsung saja kita praktikan. pertama kita buat dlu database bernama contoh_db dan memiliki tabel bernama pegawai dengan kolom id, nama, usia dan tgl_lahir.
dan memiliki record seperti dibawah ini.
kita coba menampilkan data pegawai yg terakhir di input/masuk berdasarkan kelompok umur, maka kita akan mencoba query seperti dibawah.
SELECT *, count(*) as jml FROM pegawai GROUP BY umur
maka akan tampil data kelompok usia, tapi yg di pilih bukan yg terakhir
dari gambar di atas terlihat harusnya kelompok umur 25, 26 dan 30 id pegawai yg harus tampil adalah 3, 5 dan 8. maka solusi query nya seperti dibawah ini.
SELECT * FROM pegawai WHERE id IN (SELECT MAX(id) FROM pegawai GROUP BY umur)
maka akan muncul data seperti di atas, contoh lain lagi kita akan menampilkan data dengan tgl lahir termuda berdasarkan kelompok umur siapa saja, maka query nya sperti dibawah ini
SELECT * FROM pegawai WHERE tgl_lahir in (SELECT max(tgl_lahir) FROM `pegawai` GROUP BY umur)
maka akan muncul data seperti gambar dibawah.
0 Response to " Query Mengambil Data Terakhir di GROUP BY MySQL"
Post a Comment
Harap berlomentar dengan sopan ya