MySQL按周分组,基于日期列?

时间:2011-06-30 10:36:11

标签: mysql sql

我有一个带有日期列的表格,我想尝试分组,使用一周作为时间参考,以计算每周发生的行数。我已经使用GROUP BY Date(Date_Column)做了好几天,但我不确定如何按周执行此操作?

由于

5 个答案:

答案 0 :(得分:5)

SELECT ...
FROM ....
GROUP BY YEAR(Date_column), WEEKOFYEAR(Date_Column);

答案 1 :(得分:3)

尝试在查询结尾处放置GROUP BY YEARWEEK(date_column) - 这也将考虑日期所在的年份。

答案 2 :(得分:2)

SELECT week(Date_Column)
FROM ....
GROUP BY week(Date_Column);

答案 3 :(得分:1)

 SELECT WEEKOFYEAR("2017-01-01"),YEARWEEK("2017-01-01"),WEEK("2017-01-01");

输出:

WEEKOFYEAR("2017-01-01")    YEARWEEK("2017-01-01")  WEEK("2017-01-01")
52                          201701                  1

看起来YEARWEEK是最佳解决方案。没必要连年。

答案 4 :(得分:0)

SELECT CONCAT(YEAR(Date_Column),'/',WEEK(Date_Column)) AS efdt 
FROM ....
GROUP BY efdt;