Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como gerar dados no MySQL?


SQL é notoriamente ruim em retornar dados que não estão no banco de dados. Você pode encontrar os valores iniciais e finais para lacunas de datas, mas conseguir todas as datas é difícil.

A solução é criar uma tabela de calendário com um registro para cada data e OUTER JOIN para sua consulta.

Aqui está um exemplo assumindo que created_at é do tipo DATE:
SELECT calendar_date, COUNT(`id`)
FROM calendar LEFT OUTER JOIN my_table ON calendar.calendar_date = my_table.created_at
GROUP BY calendar_date

(Acho que created_at é realmente DATETIME, então você terá que fazer um pouco mais de ginástica para se juntar às mesas).