查询SQL StartDate和EndDate参数之间的总时间值

时间:2018-11-07 04:18:13

标签: c# database database-design sql-server-2012

美好的一天!

我有一些这样的详细信息列(表a)

ID    DateStart        DateEnd        Name    TotalActivity(h)
 1    2018-11-10       2018-11-25     LSA     24
 2    2018-11-11       2018-11-26     LCE     19
 3    2018-11-12       2018-11-27     LSA     24
 4    2018-11-13       2018-11-28     LCE     17
 5    2019-11-14       2019-11-29     LSA     18

如果我希望得到如下所示的结果,如何根据参数StartDate year = 2018来创建汇总列(表b):

ID   Name    TotalHour(h) TotalDay(Float)
 1   LSA     48           2
 2   LCE     36           1.5

并了解有关SUM和Datediff的信息,但是这里的区别在于,有StartDate和EndDate参数吗?

非常感谢您再次帮助我。

2 个答案:

答案 0 :(得分:0)

select SUM(TotalActivity) as TotalHour, Sum(TotalActivity)/24.0 as TotalDays 
from tableA where YEAR(DateStart)=2018  group by YEAR(DateStart)

答案 1 :(得分:0)

尝试

SELECT tablea.ID,tablea.Name, SUM(`TotalActivity(h)`) as `TotalHour(h)` ,SUM(`TotalActivity(h)`/24) as `TotalDay(float)` FROM `tablea` WHERE DateStart LIKE '2018-%' GROUP BY Name ORDER BY ID ASC

这是工作

enter image description here