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.