请教一个问题,我有这样一个表
create table USER_LIST
(
  USER_NAME          VARCHAR2(20) not null,
  REG_TIME           DATE
)
我想统计这个表中十分钟内某个user_name出现10次或10次以上的SQL语句怎么写啊?

解决方案 »

  1.   

    select substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13) time ,count(*)
    from tb
    group by substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13)
    having count(*)>=10;
      

  2.   

    select a.user_name, b.reg_time,count(a.user_name) from user_list a, user_list b
    where a.user_name=b.user_name 
    and b.reg_time-a.reg_time > 0 and (b.reg_time-a.reg_time)*60*24 <= 10 
    group by a.user_name,b.reg_time
    having count(a.user_name)>=9
      

  3.   

    select substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13) as time,user_name,count(*) 
    from user_list
    group by substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13),user_name 
    having count(*)>=10; 
      

  4.   

    select substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13) time,user_name,count(*) 
    from user_list
    group by substr(to_char(reg_time,'yyyymmdd Hh24:mm:ss'),1,13),user_name 
    having count(*)>=10;