我有一个表,其中包含ID的start_time,end_time(两个时间戳)。会话可以是连续的并显示在多行上,但每个会话可以属于另外两列。对于给定的一组列,我试图找到一天的会话长度。
输入表:
ID Start End Website Webpage
U1 11/02/17 10:27:14 11/02/17 10:27:20 W1 P1
U1 11/02/17 10:27:40 11/02/17 10:27:51 W1 P1
U2 11/02/17 10:27:20 11/02/17 10:27:38 W2 P2
U2 11/02/17 10:41:20 11/02/17 10:41:50 W3 P3
U3 11/02/17 10:27:20 11/02/17 10:27:51 W2 P2
U1 11/04/17 9:27:30 11/04/17 9:28:30 W1 P1
如何获得以下所需的输出?
ID Website Webpage time_diff start_time
U1 W1 P1 17 11/02/17
U2 W2 P2 18 11/02/17
U2 W3 P3 30 11/02/17
U3 W2 P2 31 11/02/17
U1 W1 P1 60 11/04/17
答案 0 :(得分:0)
忘了为此发布答案。 这个查询有效。谢谢大家的帮助。
SELECT ID, Website, Webpage, SUM(DATEDIFF(second,start,end))
AS time_diff, DATE(Start) as start_time
from web_sessions_table
GROUP BY
start_time, ID,
Webpage,
Website