Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:एक श्रेणी में सभी तिथियों का चयन करें, भले ही कोई रिकॉर्ड मौजूद न हो

मुझे आशा है कि आप बाकी का पता लगा लेंगे।

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

. के साथ
select n3.num*100+n2.num*10+n1.num as date

आपको 0 से अधिकतम(n3)*100+max(n2)*10+max(n1)

तक की संख्याओं वाला एक कॉलम मिलेगा

चूंकि यहां हमारे पास अधिकतम n3 3 के रूप में है, SELECT 399, प्लस 0 -> 400 रिकॉर्ड (कैलेंडर में तिथियां) लौटाएगा।

आप अपने डायनामिक कैलेंडर को सीमित करके ट्यून कर सकते हैं, उदाहरण के लिए, मिनट (तारीख) से लेकर अब तक ()।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DUPLICATE KEY पर InnoDB ऑटो इंक्रीमेंट रोकें

  2. क्या कॉलम और टेबल नाम केस MySQL में संवेदनशील हैं?

  3. MySQL में तर्कों की सूची के भीतर तर्क की स्थिति कैसे लौटाएं

  4. MySQL में डुप्लिकेट पंक्तियां हटाएं

  5. MySQL लाइक इन ()?