从特定日期开始按7天间隔对行进行分组
问题描述:
是否有一种方法可以从Mysql中的某个日期开始按7天的时间间隔(日期时间)对行进行分组?
Is there a way to group rows by a 7 days intervals(datetime) starting from a certain date in Mysql?
答
SELECT
1 + DATEDIFF(columnDate, @start_date) DIV 7 AS weekNumber
, @start_date + INTERVAL (DATEDIFF(columnDate, @start_date) DIV 7) WEEK
AS week_start_date
, MIN(columnDate) AS actual_first_date
, MAX(columnDate) AS actual_last_date
, SUM(otherColumn)
, AVG(otherColumn)
---
FROM
tableX
WHERE
columnDate >= @start_date
GROUP BY
DATEDIFF(columnDate, @start_date) DIV 7 ;