如何使用sql计算总小时数
我试图将flag=1的总小时数相加。下面是我的数据在表中的样子。时间间隔为30分钟如何使用sql计算总小时数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图将flag=1的总小时数相加。下面是我的数据在表中的样子。时间间隔为30分钟 ID FullDateTime Flag 22 2015-02-26 05:30:00.000 1 44 2015-02-26 05:00:00.000 1 25 2015-02-26 04:30:00.000 0 23 2015-02-26 04:00:00.000 1 74
ID FullDateTime Flag
22 2015-02-26 05:30:00.000 1
44 2015-02-26 05:00:00.000 1
25 2015-02-26 04:30:00.000 0
23 2015-02-26 04:00:00.000 1
74 2015-02-26 03:30:00.000 1
36 2015-02-26 03:00:00.000 0
以下是我尝试过但不起作用的内容:
select DATEDIFF(minute, sum(FullDatetime), sum(FullDatetime)) / 60.0 as hours
from myTable
where flag = 1
我预计结果为2小时。如果总小时数只是标记为1的半小时周期数的函数,则匹配标记1的行的简单计数(*)乘以0.5(半小时)即可:
select count(*) * 0.5 from myTable where flag = 1
什么不起作用?你在减去相同的两个东西,不管
和(FullDateTime)
应该是什么。如何将两个日期加在一起?请根据您的样本数据发布(添加到您的问题中)所需的结果。您期望的数字是多少?如果是2小时,那么可能从您的_表中选择count(*)*0.5,其中flag=1
可能是您想要的?我预计是2小时。将时间戳转换为epoch。@moe哦,我不明白这怎么可能。样本数据计数应返回4,结果为4*.0.05=2.0。