当前位置: 代码迷 >> Sql Server >> sql servlet 每小时求和,该怎么处理
  详细解决方案

sql servlet 每小时求和,该怎么处理

热度:51   发布时间:2016-04-24 09:09:07.0
sql servlet 每小时求和
要求把数据每小时为0的这段时间相加显示

时间      状态
8.00       1
8.05       0
8.10       1
8.15       1
8.20       0
8.30       1
8.35       1
一共停机时间为10分钟
------解决思路----------------------
--你的时间表示不标准,不知道是示例数据,还是真实数据也是这样
;WITH CTE AS(
SELECT 时间,状态
,ROW_NUMBER()OVER(ORDER BY 时间)RN
,REPLACE(时间,'.',':')+':00'[Times]
FROM TB
)
SELECT SUM(DATEDIFF(MINUTE,T1.[Times],T2.[Times]))
FROM CTE T1
JOIN CTE T2 ON T1.RN+1=T2.RN
WHERE T1.状态=0
  相关解决方案