要求把数据每小时为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