我知道在这个主题上有类似的问题,但我似乎无法获得我需要的正确输出。
我有一张名为“时间”的表
在此表中,属性为TimeId,TimeAmount,TimeDate和FK_TaskId。
我需要一个按周累计TimeAmount的查询(从星期一开始到星期日结束)。
以下是表格中的一些数据:
TaskID TimeAmount TimeDate TaskId
1 250 8/16/2015 1
2 234 8/17/2015 2
3 356 8/15/2015 3
4 345 8/16/2015 3
我的查询,除了空值外不显示任何内容:
SELECT TimeDate as "Week", SUM(TimeAmount) AS "Total Time"
FROM time
WHERE YEARWEEK(TimeDate) = YEARWEEK(CURDATE());
提前感谢所有帮助,我非常感谢。
答案 0 :(得分:2)
我认为你可以做到
SELECT
YEARWEEK(STR_TO_DATE(TimeDate, '%m/%d/%Y')) as Week,
SUM(TimeAmount) AS "Total Time"
FROM time
GROUP BY 1
<强>更新强>
如果您将TimeDate作为DATE
- 列,则可以执行
SELECT
YEARWEEK(TimeDate) as Week,
SUM(TimeAmount) AS "Total Time"
FROM time
GROUP BY 1