本例按月统计2018-12-26到2019-12-25的数据。其中分组数据应该是上个月的26号到下个月的25号。例如2019-01-26到2019-02-25为一组,2019-03-26到2019-04-25为一组。
SELECT
date_format(
ADDDATE(
ADDDATE(
group_date,
INTERVAL - 26 DAY
),
INTERVAL 1 MONTH
),
'%Y-%m'
) AS dateStr,
min(statistics_column) minMiles,
max(statistics_column) maxMiles,
max(statistics_column) - min(statistics_column) AS milesDiff
FROM
group_table
WHERE
group_date >= '2018-12-26'
AND group_date <= '2019-12-25'
GROUP BY
dateStr
说明:
1.group_date为表中的时间字段
2.statistics_column为要统计的字段
3.group_table为表名