请教一个SQL的写法:按某一间隔统计数据库流量数据库表A中有一列update_time, 默认值是sysdata。现在想利用这一列来计算某一时间段内的一定间隔的数据插入流量,比如计算2009-09-22 00:00:00 - 2009-09-22 23:59:59 之间,每10分钟内的插入记录数, 这样的SQL该如何写呢?多谢了!

解决方案 »

  1.   

    select count(*) from 你的表 where update_time>Convert(datetime,'2009-09-22 00:00:00')
    and update_teim<Convert(datetime,'2009-09-22 23:59:59')
      

  2.   

    这样做就可以了SELECT 
        CASE WHEN creat_time BETWEEN '2009-09-25 08:00:00.000' AND '2009-09-25 09:00:00.000' THEN '8-9'
            WHEN creat_time BETWEEN '2009-09-25 09:00:00.000' AND '2009-09-25 10:00:00.000'  THEN '9-10'
            WHEN creat_time BETWEEN '2009-09-25 10:00:00.000' AND '2009-09-25 11:00:00.000'  THEN '10-11'
       END AS creat_time,
       COUNT(*) AS [Count]
    FROM table
    GROUP BY 
       CASE WHEN creat_time BETWEEN '2009-09-25 08:00:00.000' AND '2009-09-25 09:00:00.000' THEN '8-9'
            WHEN creat_time BETWEEN '2009-09-25 09:00:00.000' AND '2009-09-25 10:00:00.000'  THEN '9-10'
            WHEN creat_time BETWEEN '2009-09-25 10:00:00.000' AND '2009-09-25 11:00:00.000'  THEN '10-11'   END  
      

  3.   

    sorry,这个在oracle好像不行,忘了说是Oracle了。对不起!
      

  4.   

    select convert(varchar(15),getdate(),120) 时间, count(*) 次数
    from 你的表 
    where update_time>Convert(datetime,'2009-09-22 00:00:00') and update_teim<Convert(datetime,'2009-09-22 23:59:59')
    group by convert(varchar(15),getdate(),120)
      

  5.   

    select convert(varchar(15),youTime,120) 时间, count(*) 次数 
    from 你的表 
    group by convert(varchar(15),youTime,120)
      

  6.   

    oracle怎么会不行?  表名字段那些你都改了没
      

  7.   

    可能oracle 不能用as  你把as去掉试试 用空格就好
      

  8.   

    已修改字段,但是在[]处报错,未找到要求的FROM关键字。
      

  9.   

    早说是oracle嘛
    select substr(to_char(edit_time,'yyyy-mm-dd hh24:mi'),0,15), count(*) 
    from tab
    group by substr(to_char(edit_time,'yyyy-mm-dd hh24:mi'),0,15)
      

  10.   

    select substr(to_char(edit_time,'yyyy-mm-dd hh24:mi'),0,15), count(*) 
    from page_re_column
    group by substr(to_char(edit_time,'yyyy-mm-dd hh24:mi'),0,15)
    order by 1 desc
    结果,不过时间不是连续的,不能直接看出效果
    1 2009-09-25 16:4 1
    2 2009-09-25 16:0 3
    3 2009-09-25 13:4 6
    4 2009-09-25 13:3 5
    5 2009-09-25 11:3 6
    6 2009-09-14 17:3 1
    7 2009-09-11 16:2 1
    8 2009-09-11 16:0 2