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

MySQL Query yang menambahkan kekosongan untuk mengisi kekosongan

Salah satu solusinya adalah membuat tanggal dengan subkueri, lalu gabungkan subkueri ini dengan tabel Anda.

Jika Anda hanya membutuhkan 7 hari terakhir maka Anda dapat mencoba dengan ini:

select d.testdate, coalesce(t.val1,0), coalesce(t.val2,0)
from
  (select current_date as testdate
   union all select current_date - interval 1 day
   union all select current_date - interval 2 day
   union all select current_date - interval 3 day
   union all select current_date - interval 4 day
   union all select current_date - interval 5 day
   union all select current_date - interval 6 day) d
  left join tblMyData t
  on d.testdate = t.testdate

jika alih-alih tanggal_saat ini, Anda ingin 7 hari terakhir di tabel, maka kueri Anda bisa seperti ini:

select m.m - interval d day, coalesce(t.val1,0), coalesce(t.val2,0)
from
  (select max(testdate) as m from tblMyData) m
  cross join
  (select 0 as d
   union all select 1
   union all select 2
   union all select 3
   union all select 4
   union all select 5
   union all select 6) d
  left join tblMyData t
  on m.m - interval d day = t.testdate

Silakan lihat biola di sini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah Android terhubung langsung ke MySQL tanpa PHP?

  2. MYSQL dan kesalahan python

  3. Berapa panjang yang harus saya tentukan untuk string yang dienkripsi dengan AES-256-CBC di database?

  4. Bisakah saya mengotomatiskan memasukkan kata sandi file PEM untuk sertifikat SSL di MySQL?

  5. Cara menutup koneksi sqlalchemy di MySQL