这个问题继续Merging every two rows of data in a column in SQL Server
我的赛事结构......
Id UserId EventId EventDateTime
1 1 A 18-06-2013 10:36
2 1 B 18-06-2013 10:40
3 1 C 18-06-2013 10:46
4 1 D 18-06-2013 10:50
5 1 A 18-06-2013 13:36
从前面的问题我得到了以下格式的数据..
UserId EventStart EventEnd
1 A B
1 B C
现在我想得到Unique' EventStart'和' EventEnd'并按UserId和Date / s过滤它们
报告格式为
EventStart EventEnd Count
A B 5
B C 3
我知道我可以使用上一个问题查询中的数据并将其存储在一个表格中并按建议尝试here
但如果我可以直接从“事件表”中获取数据,那将会很棒。使用' UserId'到报告格式和'日期'过滤
真心感谢任何帮助。
谢谢..
答案 0 :(得分:0)
如果您只想计算出现次数,请在基本相同的查询中使用group by
:
select eventstart, eventend, count(*)
from (select userId, eventid as eventstart,
(select top 1 t2.eventid
from mytable t2
where t2.userid = t.userid and
t2.id > t.id
order by t2.id
) as eventend
from mytable t
) t
where eventend is not null
group by eventstart, eventend;