sql >> Database >  >> RDS >> Mysql

MySQL Groeperen op datums tussen

U kunt groeperen op -bijna- alles wat u maar wilt. Als je iets in een kolom kunt krijgen om te laten zien wat je wilt, kun je erop groeperen. Dus voor slechts twee periodes kun je gewoon groeperen op een als:

SELECT * FROM table
GROUP BY if(stamp between "2005-07-01" and "2006-02-01", 0, 1)

Als u de perioden over langere perioden (meerdere jaren) wilt laten variëren, kunt u period_diff gebruiken om onderscheid te maken:

SELECT * FROM table
GROUP BY floor(period_diff( DATE_FORMAT(stamp, "%Y%m"), "200507") / 6)

Het geeft u het aantal blokken van 6 maanden dat is verstreken tussen uw datum en de startperiode in jaar-maandnotatie.



  1. Resultaten van een opgeslagen procedure invoegen in een tijdelijke tabel

  2. JSON_STORAGE_FREE() – Ontdek hoeveel opslagruimte vrijkwam na een update van een JSON-document in MySQL

  3. MYSQL Werkdagen toevoegen tot nu toe

  4. Een blob retourneren met json