sql >> Base de Datos >  >> RDS >> Mysql

MySQL Agrupar por fechas entre

Puede agrupar en -casi- cualquier cosa que desee. Si puede obtener algo en una columna para mostrar lo que desea, puede agruparlo. Entonces, por solo dos períodos, simplemente podría agruparse en un si:

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

Si necesita que los períodos se extiendan durante períodos más largos (varios años), puede usar period_diff para distinguir:

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

Le dará la cantidad de bloques de 6 meses transcurridos entre su fecha y el período de inicio en formato año-mes.