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

Tabel Tunggal MySql, Pilih 7 hari terakhir dan sertakan baris kosong

Ini tidak mudah. Saya mengambil bantuan dari utas ini menghasilkan hari dari rentang tanggal dan menggabungkannya dengan kueri Anda.

Jadi idenya adalah untuk mendapatkan daftar tanggal dari 7 hari terakhir lalu bergabung dengan tanggal-tanggal ini dengan jumlah statis 0 ke kueri yang Anda miliki dan akhirnya menjumlahkannya. Ini dapat digunakan untuk rentang tanggal apa pun, hanya perlu mengubahnya di kedua kueri

select 
t1.purchase_date,
coalesce(SUM(t1.amount+t2.amount), 0) AS amount
from
(
  select DATE_FORMAT(a.Date,'%Y-%m-%d') as purchase_date,
  '0' as  amount
  from (
    select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date
    from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
  ) a
  where a.Date BETWEEN NOW() - INTERVAL 7 DAY AND NOW()
)t1
left join
(
  SELECT DATE_FORMAT(purchase_date, '%Y-%m-%d') as purchase_date,
  coalesce(SUM(amount), 0) AS amount
  FROM transactions
  WHERE purchase_date BETWEEN NOW() - INTERVAL 7 DAY AND NOW()
  AND vendor_id = 0
  GROUP BY purchase_date
)t2
on t2.purchase_date = t1.purchase_date
group by t1.purchase_date
order by t1.purchase_date desc

DEMO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO menyiapkan pernyataan fetch() mengembalikan hasil ganda

  2. PESANAN GROUP_CONCAT OLEH

  3. JSON_ARRAY() – Buat Array JSON dari Daftar Nilai di MySQL

  4. Bagaimana cara menampilkan kesalahan MySQL di PHP untuk kueri panjang yang bergantung pada input pengguna?

  5. Bagaimana Fungsi LTRIM() Bekerja di MySQL