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

MySQL Agrupar Por Datas Entre


Você pode agrupar em -quase- qualquer coisa que você quiser. Se você conseguir algo em uma coluna para mostrar o que deseja, poderá agrupar nela. Então, por apenas dois períodos, você pode simplesmente agrupar em um if:
SELECT * FROM table
GROUP BY if(stamp between "2005-07-01" and "2006-02-01", 0, 1)

Se você precisar que os períodos abranjam períodos mais longos (vários anos), use period_diff para distinguir:
SELECT * FROM table
GROUP BY floor(period_diff( DATE_FORMAT(stamp, "%Y%m"), "200507") / 6)

Ele fornecerá o número de blocos de 6 meses passados ​​entre sua data e o período inicial no formato ano-mês.