我有一个“时间条目”数据库,其中存储了每个条目的userID,roundedHours,dateSpent和taskID(这些都是每日时间卡)。我正在尝试创建一个查询,该查询将输出按userID分组的roundedHours的总和,其中taskID在指定日期之间满足特定值。
我尝试过的代码如下。我需要的是输出和分组通过用户ID,而是,我的输出是两者的总和overhead_admin
和total_hours
(每行相同),而不是特定的用户ID。
SELECT userName, userID,
(SELECT sum(roundedHours)
FROM `db`.`TimeEntries`
WHERE taskId = 3050483 AND (spendDate BETWEEN '2020-11-02' AND '2020-11-08')) as overhead_admin,
(SELECT sum(roundedHours)
FROM `db`.`TimeEntries`
WHERE (spendDate BETWEEN '2020-11-02' AND '2020-11-08')) as total_hours
FROM `db`.`TimeEntries`
GROUP BY userID
谁能帮助我,以便每一行都具有该用户的特定总数,而不是总和?下图显示了我得到的输出错误:
使用条件聚合:
SELECT userName, userID,
sum(case when taskId = 3050483 AND (spendDate BETWEEN '2020-11-02' AND '2020-11-08' then roundedHours end) as overhead_admin,
sum(case when spendDate BETWEEN '2020-11-02' AND '2020-11-08' then roundedHours end) as total_hours
FROM `db`.`TimeEntries`
GROUP BY userID
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句