例子
ID TIME
1 2015-01-12 00:00:14
2 2015-01-12 00:00:43
3 2015-01-12 00:00:46
4 2015-01-12 00:01:10
1 2015-01-12 00:01:17
2 2015-01-12 00:01:24
3 2015-01-12 00:01:28
4 2015-01-12 00:01:51
1 2015-01-12 00:01:57
2 2015-01-12 00:02:12
3 2015-01-12 00:02:25
1 2015-01-12 00:02:42
2 2015-01-12 00:02:45
1 2015-01-12 00:02:45
2 2015-01-12 00:03:16
我想要计算比如ID列里面 所有值从第一次出现的时间开始计算1小时内出现的次数
最后结果
想要成
ID 次数
1 5
2 5
3 3
4 2
PS我用的是SQL SEVER 2008
------解决思路----------------------
SELECT s.id,
COUNT(*) c
FROM (
SELECT id,
MIN(time) FirstTime
FROM table1
GROUP BY id
) s
JOIN table1 t
ON t.id = s.id
AND t.time <= DateAdd(hour,1,s.FirstTime)
GROUP BY s.id
id c
----------- -----------
1 5
2 5
3 3
4 2