我的数据库表中有这些行。
ID Name Date working_hours
29 A 2020-04-07 14.45
29 A 2020-04-08 10.30
29 A 2020-04-06 06.30
29 A 2020-04-10 10.15
30 B 2020-04-09 09.15
30 B 2020-04-07 09.00
30 B 2020-04-08 09.00
30 B 2020-04-10 04.45
30 B 2020-04-06 07.45
30 B 2020-04-10 04.45
当我在查询下面执行时
SELECT ID,Name, date, working_hours,sum(working_hours) as 'total_week_hours'
from tblstafftasks
WHERE date between
date_add('2020-04-10', interval -WEEKDAY('2020-04-10') day) and
date_add(date_add('2020-04-10', interval -WEEKDAY('2020-04-10')-1 day), interval 6 day)
group by ID
我低于输出
ID Name Date working_hours total_week_hours
29 A 2020-04-10 10.15 41.2
30 B 2020-04-10 04.45 43.5
但是我希望输出看起来像下面
ID Name Date working_hours total_week_hours
29 A 2020-04-07 14.45 41.2
29 A 2020-04-08 10.30 41.2
29 A 2020-04-06 06.30 41.2
29 A 2020-04-10 10.15 41.2
30 B 2020-04-09 09.15 43.5
30 B 2020-04-07 09.00 43.5
30 B 2020-04-08 09.00 43.5
30 B 2020-04-10 04.45 43.5
30 B 2020-04-06 07.45 43.5
30 B 2020-04-10 04.45 43.5
任何帮助将不胜感激。
[通过原始查询加入原始表,该子查询获取每周的总计。
SELECT t1.ID, t1.Name, t1.date, t1.working_hours, t2.total_week_hours
FROM tblstafftasks AS t1
JOIN (
SELECT ID, SUM(working_hours) AS total_week_hours
WHERE date between
date_add('2020-04-10', interval -WEEKDAY('2020-04-10') day) and
date_add(date_add('2020-04-10', interval -WEEKDAY('2020-04-10')-1 day), interval 6 day
GROUP BY ID)
) AS t2 ON t1.ID = t2.ID
WHERE t1.date between
date_add('2020-04-10', interval -WEEKDAY('2020-04-10') day) and
date_add(date_add('2020-04-10', interval -WEEKDAY('2020-04-10')-1 day), interval 6 day)