使用SQL Server 2005
表格1
ID Time
001 060000 (HHMMSS)
001 080000
002 100000
002 090000
002 120000
.....
Intime,Outtime数据类型为varchar。
我想按ID计算总时间组
如何计算总小时数。
需要查询帮助
最佳答案
根据给定的数据,最后丢掉0000,更改为int,SUM
SELECT
SUM(CAST(REVERSE(SUBSTRING(REVERSE(TimeCol),5,8000) as int), ID
FROM
MyTable
GROUP BY
ID
如果您有分钟数但没有秒数,则可以对其进行修改,以在末尾丢掉00,将其拆分为小时数+分钟数,然后求和...
问题是:
将HHMMSS字符串分解为单独的HH,MM和SS
然后找到一个通用单位(例如整秒,但我查看了数据,因此选择了整个小时数)
求和得出总的通用单位
更改为所需的输出单位(在这种情况下为小时)
关于sql - 如何计算总时数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4574099/