我是 SQL 新手,因此寻求一些帮助。 这是我的代码
Select
MITARBEITER_NR "ID",
DAUER "Duration",
datum "Date"
From
Vtsbreak
Where DATUM >= TO_DATE('2017/04/01', 'yyyy/mm/dd') AND DATUM <= TO_DATE('2017/05/27','yyyy/mm/dd')
order by datum
这是我的数据
ID Duration Date
443 60 03/04/2017
412 10 03/04/2017
399 100 04/04/2017
374 10 04/04/2017
374 10 04/04/2017
376 120 04/04/2017
456 300 04/04/2017
372 120 04/04/2017
443 60 04/04/2017
446 300 04/04/2017
427 60 04/04/2017
403 420 04/04/2017
我想要做的是返回 ID 代码、日期、该日期的持续时间总和 我尝试过使用组,但只返回 2017 年 4 月 4 日 id 374 的一个案例,其值为 10 而不是 20
请问有什么建议吗?
最佳答案
您需要一个GROUP BY
。按照您正在使用的语法(但绝对不是 MySQL),您可以执行如下操作:
select MITARBEITER_NR as id,
to_char(datum, 'YYYY-MM-DD') as yyyymmdd,
sum(dauer) as duration
from Vtsbreak
where datum >= DATE '2017-04-01' and
datum < DATE '2017-05-28'
group by id, to_char(datum, 'YYYY-MM-DD')
order by yyyymmdd;
关于mysql - SQL语句组?或总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44228920/