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

MySQL:Pilih Semua Tanggal Dalam Rentang Bahkan Jika Tidak Ada Catatan

Saya harap Anda akan mengetahui sisanya.

select  * from (
select date_add('2003-01-01 00:00:00.000', INTERVAL n5.num*10000+n4.num*1000+n3.num*100+n2.num*10+n1.num DAY ) as date from
(select 0 as num
   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) n1,
(select 0 as num
   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) n2,
(select 0 as num
   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) n3,
(select 0 as num
   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) n4,
(select 0 as num
   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) n5
) a
where date >'2011-01-02 00:00:00.000' and date < NOW()
order by date

Dengan

select n3.num*100+n2.num*10+n1.num as date

Anda akan mendapatkan kolom dengan angka dari 0 hingga maks(n3)*100+maks(n2)*10+maks(n1)

Karena di sini kita memiliki max n3 sebagai 3, SELECT akan mengembalikan 399, ditambah 0 -> 400 catatan (tanggal dalam kalender).

Anda dapat menyetel kalender dinamis Anda dengan membatasinya, misalnya, dari min(tanggal) hingga sekarang().



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara cepat mengganti nama database MySQL (mengubah nama skema)?

  2. Saya tidak bisa mendapatkan formulir login saya untuk terhubung berinteraksi dengan benar dengan database mySQL

  3. Buat indeks pada tabel produksi MySQL besar tanpa penguncian tabel

  4. 4 Cara Memeriksa Tipe Data Kolom di MySQL

  5. Apa cara terbaik untuk memigrasikan Django DB dari SQLite ke MySQL?