当前位置: 代码迷 >> Sql Server >> 关于时间间隔话语命令的优化
  详细解决方案

关于时间间隔话语命令的优化

热度:24   发布时间:2016-04-24 09:28:21.0
关于时间间隔语句命令的优化
本帖最后由 escaflowne1985 于 2015-01-15 09:37:38 编辑
例子
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
  相关解决方案