Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Изберете всички дати между диапазона от време и получете дати, съответстващи на данните в таблицата

Разбрах това, като промених заявката, дадена в решението за получаване на всички дати.

Следната заявка връща всички дати и броя на идентификаторите, ако съществуват записи:

select d.date, count(v.id) from 
(select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) date from
 (select 0 i 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 i 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 i 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 i 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 i 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) d
left join visitors v on d.date = v.date
where d.date between '2016-06-01' and '2016-06-30'
group by d.date
order by d.date

Любезното съдействие за получаване на диапазона от дати е на @mark-bannister и просто присъединяване към съвпадението на заявката за резултати и сортирането получава решението.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обяснете MySQL, обяснете математиката на плана за изпълнение, разликата между два плана

  2. Инсталиране на конкретни версии на пакета с pip

  3. постоянен начин за правене на mysqli->set_charset()?

  4. Изберете брой / дубликати

  5. Как да получите няколко броя с една заявка в MySQL