我想{2013年6月的每个星期日例如GROUP
将是这样的:
我尝试过这样的SQL查询:
SELECT DATE_FORMAT(statusdate, '%d-%m-%Y' ) as Week, SUM(sales_points)
FROM `sales`
WHERE YEAR(statusdate) = 2013 AND MONTH(statusdate) = 6
GROUP BY DATE_FORMAT( statusdate, '%Y%U')
每周 - 它计算总分数。
Week
字段的日期结果是错误的,它与5月份的例子不匹配。
预期的结果是这样的:
----------------------
Week | Points
----------------------
09-03-2013 | 434
16-03-2013 | 356
23-03-2013 | 354
30-03-2013 | 642
答案 0 :(得分:0)
只是一个猜测......
SELECT MIN(dt) FROM calendar WHERE DATE_FORMAT(dt,'%Y-%m') = '2013-06' GROUP BY WEEK(dt);
答案 1 :(得分:0)
这应该有用......从字符串转换可能有点乱,但我以前用过累积每周数据
SELECT STR_TO_DATE(concat(yearweek(statusdate,1),'Sunday'), '%X%V%W')
as week_ending,
sum(sales_points)
from `sales`
group by STR_TO_DATE(concat(yearweek(statusdate,1),'Sunday'), '%X%V%W')