获取第一行和最后一行之间的时间差

Dee*_*u T 4 sql-server datediff date-difference

我的表结构是这样的

id date         Time                userid

17  2017-01-22  05:08:09.0000000    836232017
16  2017-01-22  05:08:05.0000000    836232017
11  2017-01-22  05:06:40.0000000    836232017
10  2017-01-22  05:06:38.0000000    836232017
7   2017-01-22  05:06:31.0000000    836232017
Run Code Online (Sandbox Code Playgroud)

我需要获取相应用户 ID 和日期的第一个值和最后一个值之间的时间差。例如:用户 ID 836232017 的 datediff 介于 '05:08:09.0000000' 和 '05:06:31.0000000' 之间。请为此提供解决方案。

Esp*_*o57 5

尝试这个

SELECT userid, 
DATEADD(SECOND, - DATEDIFF(SECOND, MAX(times), MIN(times)), @null) 
FROM table
group by userid
Run Code Online (Sandbox Code Playgroud)

或这个

SELECT userid, 
DATEDIFF(SECOND, Min(times), Max(times)) 
FROM table
group by userid
Run Code Online (Sandbox Code Playgroud)