Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用sql计算总小时数_Sql_Sql Server_Tsql - Fatal编程技术网

如何使用sql计算总小时数

如何使用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

我试图将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      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。