mysql - 按周分组返回奇怪的间隔

标签 mysql group-by

出于某种奇怪的原因,按周分组返回带有日期时间字段的奇数日期间隔。

“Completed”是一个日期时间字段,使用此查询:

SELECT 
    Completed, 
    COUNT( DISTINCT Table1.ID ) AS ActivityCount 
FROM Table1 
JOIN Table1Items 
ON Table1.ID = Table1Items.ID 
JOIN database_database.Table2 
ON Table2.Item = Table1Items.Item 
WHERE Completed != '0000-00-00' AND Completed >= '2012-09-25' AND Completed <= '2012-10-25' 
GROUP BY WEEK(Completed)

我得到:

Completed  ActivityCount    CompletedTimestamp
2012-09-25  300            2012-09-25 00:00:00
2012-10-02  764            2012-10-02 00:00:00
2012-10-08  379            2012-10-08 00:00:00
2012-10-17  659            2012-10-17 00:00:00
2012-10-22  382            2012-10-22 00:00:00

有的相隔 7 天,有的相隔 6 天,有的相隔 5 天……有的相隔 9 天?

为什么它按如此奇怪的间隔而不是仅 7 天对日期进行分组?

最佳答案

week 函数不计算日期的差异。

week 函数返回日期的周数。如果您按它分组,则该组中将包含一周的开始和结束以及之间的日期。单个日期之间的差异可能大于 7 天或更短。

关于mysql - 按周分组返回奇怪的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079776/

相关文章:

python - 迭代 pandas df 行并执行操作

mysql - 如何在 MySQL 中查找生成的列定义

Mysql COUNT VS num rows 性能

php - Codeigniter 管理用户角色

mysql子查询where和group by

MySQL如何获取前n组?

mysql - SQL-从基于嵌套查询的表中删除

java - 从 HashMap 中的数据库获取我的数据

mysql group by 具有重复值和计数

mysql - MySQL表数据如何按半年聚合?