我在SQL Server中有一个像这样的表:
Machine Time Parts
A 2018-12-11 00:00 12
A 2018-12-11 01:00 38
A 2018-12-11 02:00 52
.....
A 2018-12-11 23:00 13
A 2018-12-12 00:00 45
A 2018-12-12 01:00 35
.....
A 2019-01-10 22:00 25
A 2019-01-10 23:00 68
A 2019-01-11 00:00 29
A 2019-01-11 01:00 36
A 2019-01-11 02:00 19
A 2019-01-11 03:00 52
.....
机器每小时生产的零件数量存储在表格中。 我需要的是一个查询,它获取2018年12月11日00:00到2019年1月11日00:00之间的所有数据,计算每天的部分总和并返回所有31个总和值。
我已经尝试解决了几天,但由于我的SQL技能仍然很弱,因此无法解决。任何帮助将不胜感激。
答案 0 :(得分:5)
您只是想从time
获取日期吗?
select cast(time as date) as dte, sum(parts)
from t
where time >= '2018-12-11' and time < '2019-01-11'
group by cast(time as date)
order by cast(time as date);