各个语言环境有差异。
其实这个就是一个分组的求差,不过你那个结果值没看明白和数据的关系。
select ID,max(time)-min(time) from table group by ID
大致就是这样,计算min和max差值有些环境需要使用函数。
SELECT ID,DATEDIFF(n,MIN(TME),MAX(TIME)) AS ConTIME
FROM 表
WHERE STATE=1
GROUP BY ID
SELECT AA.ID, (MAX(AA.TIME) - MIN(AA.TIME)) CONTIME
FROM TABLE_NAME AA
WHERE AA.STATE <> 0
GROUP BY AA.ID;