表a如下:
ID     datetime                IP
1     2009-8-1 14:03:23    192.168.1.56
2     2009-8-2 9:15:06    192.168.1.24
3     2009-8-1 14:07:23    192.168.1.56
4     2009-8-2 9:33:23    192.168.1.24
5     2009-8-1 14:09:23    192.168.1.56
6     2009-8-1 14:11:23    192.168.1.56
求一段统计代码,要求实现同一个IP在datetime相差五分钟以上的算两次,五分钟以内的算一次
  

解决方案 »

  1.   

    最近的两个时间,如:ID=1和ID=3,ID=3和ID=5,如果相近的两个时间有超过五分钟就算两次,否则算一次,那么上面的结果该是:
    192.168.1.56      1
    192.168.1.24      2
      

  2.   

    SELECT IP,
    NUM=CASE 
    WHEN EXISTS
    (SELECT 1 FROM TB WHERE IP=T.IP AND ABS(DATEDIFF(MINUTE,[DATETIME],[T.DATETIME]))>5 TEHN 2  
    WHEN EXISTS
    (SELECT 1 FROM TB WHERE IP=T.IP AND ABS(DATEDIFF(MINUTE,[DATETIME],[T.DATETIME]))<5
    THEN 1
    ELSE 0 END FROM TB T???