我的表中有这样的数据:
我需要计算"付费" UserID的字段,以7天的间隔重新出现。在这个例子中,我将为UserID" 01"提供SUM(付费)。因为它在7天的间隔内发生2次。 我可以通过programmaticaly计算,但仅限于此类日期间隔(2016-01-01 - 2016-01-07; 2016-01-07 - 2016-01-13;等)。 也许有可能在任何7天的间隔内在MySQL级别执行此计算?例如:2016-01-01 - 2016-01-07; 2016-01-02 - 2016-01-08; 2016-10-10 - 2016-10-16;等
答案 0 :(得分:0)
我相信方法WEEK()
会根据日历年返回周数,这意味着2016年:1月1日,1月2日和1月1日将返回0,但1月4日将返回1,这符合我的理解不符合要求。
我建议:
SELECT `UserID`, SUM(`Paid`) FROM `table` GROUP BY DATEDIFF(`Date`, (SELECT MIN(`Date`) FROM `table`)) DIV 7, `UserID`