sql >> Databasteknik >  >> RDS >> Mysql

Hur genererar man data i MySQL?

SQL är notoriskt dålig på att returnera data som inte finns i databasen. Du kan hitta början och slutvärdena för luckor av datum, men att få alla datum är svårt.

Lösningen är att skapa en kalendertabell med en post för varje datum och OUTTER JOIN den till din fråga.

Här är ett exempel förutsatt att create_at är typ 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

(Jag antar att create_at verkligen är DATETIME, så du måste träna lite mer gymnastik för att GÅ MED vid borden).



  1. MySQL-fel 1093 - Kan inte ange måltabell för uppdatering i FROM-satsen

  2. Databasanslutning eller autentiseringsfel med Movable Type

  3. 12c VARCHAR2(32767)

  4. hur man prefix en sträng före sekvens genererad av postgresql?