Mencari Jumlah Perbulan di MySQL

Selamat malam para sobat Indonesia, pada tutorial kali ini saya akan membagikan bagaimana query untuk mencari jumlah perbulan. Query seperti ini sering kita jumpai dalam membuat sebuah aplikasi atau web. Misalnya kita mau mencari jumlah pengunjung tiap bulan. Namun pada contoh kali ini, query saya sesuaikan dengan contoh kasus yang saya alami.

Pada contoh kasus kali ini saya mencari jumlah flok tiap bulan pada kondisi tertentu yaitu tahun 2020 dan rugi diatas 3000. Teman-teman sobat Indonesia silahkan perhatikan query SQL dibawah ini :

SELECT r.kodeflok, r.nama_flok, r.unit, 
SUM(IF(MONTH(r.tgl_doc_in) = 1, 1, 0)) AS Jan,
SUM(IF(MONTH(r.tgl_doc_in) = 2, 1, 0)) AS Feb,
SUM(IF(MONTH(r.tgl_doc_in) = 3, 1, 0)) AS Mar,
SUM(IF(MONTH(r.tgl_doc_in) = 4, 1, 0)) AS Apr,
SUM(IF(MONTH(r.tgl_doc_in) = 5, 1, 0)) AS Mei,
SUM(IF(MONTH(r.tgl_doc_in) = 6, 1, 0)) AS Jun,
SUM(IF(MONTH(r.tgl_doc_in) = 7, 1, 0)) AS Jul,
SUM(IF(MONTH(r.tgl_doc_in) = 8, 1, 0)) AS Agu,
SUM(IF(MONTH(r.tgl_doc_in) = 9, 1, 0)) AS Sep,
SUM(IF(MONTH(r.tgl_doc_in) = 10, 1, 0)) AS Okt,
SUM(IF(MONTH(r.tgl_doc_in) = 11, 1, 0)) AS Nov,
SUM(IF(MONTH(r.tgl_doc_in) = 12, 1, 0)) AS Des,
ROUND(r.rhpp_rugi,0) AS rhpp_rugi 
FROM tblrhpp r
LEFT JOIN tblplasma p USING(kodeflok) WHERE YEAR(tgl_doc_in) = 2020 
AND ROUND(r.rhpp_rugi,0)>3000
GROUP BY nama_flok
ORDER BY kodeflok ASC

Pada contoh kasus diatas, saya menggunakan fungsi SUM IF yang terdapat di MySQL, kemudian saya sesuikan dengan bulan pada kolom tgl_doc_in sehingga bisa menampilkan jumlah data tiap bulan. Untuk hasilnya teman-teman bisa perhatikan gambar dibawha ini :

Bagaimana sobat Indonesia, mudah bukan. Disini kita hanya menggunakan kolom tanggal untuk membuat kolom alias sehingga bisa menampilkan nama bulan seperti Jan, Feb, Mar, dan seterusnya. Ok sobat Indonesia, sampai disini dulu artikelnya. Semoga bermanfaat, terimakasih

Leave a Reply

Your email address will not be published.