Postingan lainnya
Query menghitung data -7 hari dari hari sekarang di Mysql
mau nanya master soal query nih saya ada query seperti ini
SELECT DATE (a.CreateDate) tanggal, a.Shift, ROUND(SUM(a.qty)/1000) total, MAX(b.total) subTotal
FROM tbDataTrans_Moll_In a
JOIN (
SELECT DATE (a.CreateDate) tanggal, SUM(a.qty) total
FROM tbDataTrans_Moll_In a
WHERE (a.CreateDate) <= curdate() and date(a.CreateDate) > curdate() -interval 7 day AND NOW() AND a.shift=2
GROUP BY DATE (a.CreateDate)) b ON DATE (a.CreateDate) = b.tanggal
WHERE (a.CreateDate) < DATE(NOW()) AND a.shift=3
GROUP BY DATE (a.CreateDate), a.Shift
apakah query tersebut bener untuk mendapatkan - 7 hari dari sekarang, dan ketika datanya ga tersedia contoh nya pada tanggal 1 - 5 ada dan pada 6 datanya 0, dan 7 ada data, karena tanggal ke 6 maka data ga di tampilkan di query, apakah bisa membuat query menampilkan data kosong tersebut mhon bimbingannya makasih
6 Jawaban:
setahu saya, yap ini akan memunculkan data hari ini -7 hari sampai hari ini. Dan maksud dari menampilkan data kosong seperti apa ya ? disini filter data (selain tanggal) hanya ada shift, jika shift tidak ada di hari itu maka data tidak ditampilkan
nah iya mas @lukmanfreedom kan data di sana emang tidak ada atau nol apakah bisa di tampilkan dalam angka 0 nya ? jadi data yang keluar dari tanggal 1 sampai 7 ?
maksudnya @dianarifr seperti ini
<pre> SELECT DATE (a.CreateDate) tanggal, a.Shift, ROUND(SUM(a.qty)/1000) total, MAX(b.total) subTotal FROM tbDataTrans_Moll_In a LEFT JOIN ( SELECT DATE (a.CreateDate) tanggal, SUM(a.qty) total FROM tbDataTrans_Moll_In a WHERE (a.CreateDate) <= curdate() and date(a.CreateDate) > curdate() -interval 7 day AND NOW() AND a.shift=2 GROUP BY DATE (a.CreateDate)) b ON DATE (a.CreateDate) = b.tanggal WHERE (a.CreateDate) < DATE(NOW()) AND a.shift=3 GROUP BY DATE (a.CreateDate), a.Shift </pre>
boleh dicoba @Ridhoa
kalau seperti di atas malah memunculkan semua data pada table mas dari bulan 1 sampai bulan sekarang