MYSQL:如何按周记录小时数

时间:2015-08-18 18:17:37

标签: mysql sql

我知道在这个主题上有类似的问题,但我似乎无法获得我需要的正确输出。

我有一张名为“时间”的表

在此表中,属性为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());

提前感谢所有帮助,我非常感谢。

1 个答案:

答案 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