Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Generowanie serii dat

jeśli jesteś w sytuacji takiej jak ja, w której tworzenie tymczasowych tabel jest zabronione , a ustawianie zmiennych również jest niedozwolone , ale chcesz wygenerować listę dat w określonym okresie , powiedz bieżący rok, aby dokonać agregacji, użyj tego

select * from 
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from
 (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where gen_date between '2017-01-01' and '2017-12-31'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wspólne wyrażenie tabelowe w MySQL

  2. Jak podłączyć zdalną bazę danych MySQL w PHP

  3. ROW_NUMBER w SQL — wybierz najlepszy przykład w SQL i SQL Server

  4. mysqli::query():Nie można pobrać mysqli

  5. MySQL #1140 - Mieszanie kolumn GROUP