sql >> Database >  >> RDS >> Mysql

Mysql:Selecteer alle gegevens tussen twee datums

U kunt een concept gebruiken dat vaak 'kalendertabellen' wordt genoemd. Hier is een goede gids voor het maken van kalendertabellen in MySql:

-- create some infrastructure
CREATE TABLE ints (i INTEGER);
INSERT INTO ints VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);

-- only works for 100 days, add more ints joins for more
SELECT cal.date, tbl.data
FROM (
    SELECT '2009-06-25' + INTERVAL a.i * 10 + b.i DAY as date
    FROM ints a JOIN ints b
    ORDER BY a.i * 10 + b.i
) cal LEFT JOIN tbl ON cal.date = tbl.date
WHERE cal.date BETWEEN '2009-06-25' AND '2009-07-01';

Misschien wilt u tabel cal . maken in plaats van de subselectie.



  1. Oracle 11g Release 2 Enterprise Edition installeren op Windows 7 32-bits

  2. Biedt SQL Server iets zoals MySQL's OP DUPLICATE KEY UPDATE?

  3. Knip alle tabellen in een database in SQL Server af - SQL Server / TSQL-zelfstudie, deel 55

  4. SQL Server 2016:Queryresultaten opslaan in een CSV-bestand