如何在SQL中使用time数据类型获取小计?

时间:2017-09-18 12:06:13

标签: sql time firebird subtotal

我遇到了生成SQL查询的问题。我在Firebird DB中有一个表,如下所示:

ID  | PROCESS | STEP | TIME  
654 |       1 |    1 | 09:08:40  
655 |       1 |    2 | 09:09:32  
656 |       1 |    3 | 09:10:04  
...  
670 |       2 |   15 | 09:30:05  
671 |       2 |   16 | 09:31:00  

等等。

我需要每个流程组的小计(其中大约有7个)。该表具有TIME列的" time" -type。我一直在尝试使用DATEDIFF,但它不起作用。

2 个答案:

答案 0 :(得分:1)

您需要使用SUM

此问题已在此处得到解答。

How to sum up time field in SQL Server

在这里。

SUM total time in SQL Server

有关更具体的Firebird文档。在这里阅读sum函数。

Sum() - Firebird Official Documentation

答案 1 :(得分:1)

我认为你应该使用" GROUP BY"获得最大时间和最短时间,并在datediff函数中使用它们。这样的事情:

select process, datediff(second, max(time), min(time)) as nb_seconds
from your_table
group by process;