您将如何处理不同年份的分组?

时间:2013-11-03 20:32:38

标签: mysql sql group-by date-format

对于我所做的分析,我们处理在给定月份或周内发生的事情。

例如:

SELECT date_format(registration_date, '%Y-%u') as 'cohort', count(id) as 'count' 
FROM account 
GROUP BY `cohort`

几个月来,变化的一年不会产生问题。虽然数周之后,它将在2013年的最后一周和2014年首次创造一个脱节的一周。

有没有简单的方法根据7天的滚动进行分组?

谢谢!

1 个答案:

答案 0 :(得分:1)

这里的队列是“几个星期前”。这是一个连续七天分组的意思吗?

select
    cast(datediff(current_date(), registration_date) / 7 as unsigned) `cohort`, 
    count(id) `count`
from
    account 
group by
    `cohort`

<强> Example Fiddle