1.select name,date frm table 
group by name,
         date
having sum(fee)>数目;
2.select name,date frm table 
group by name,
         date
having sum(fee)>数目 and count(date)>天数;

解决方案 »

  1.   

    按照思路 SUM(FEE) 应该去掉啊可是上面的语句执行有错误啊
      

  2.   

    select date,name,fee
    from 
    (select date,name,sum(fee) fee
    from table
    group by date,name)
    where fee>XXX
      

  3.   

    骆驼写的也有问题 只能得到总数 大于某一数值的 NAME
    而无法区分是否 每天的数值都超过某个数字
      

  4.   

    SELECT SERV_ID ,COUNT(SERV_ID), SUM(CHARGE) FROM (SELECT * FROM TMP_STAR_BILL WHERE CHARGE>=800)
    GROUP BY SERV_ID HAVING COUNT(SERV_ID)=6;这个是每天总共六天 都超过一定数值的 SQL但是 在六天里去 连续 3天 超过一定数值 还不知道该怎么写
      

  5.   

    统计连续多少天的费用都超过某个值可以这样做(必须是8.1.6及以上版本):
    --统计连续2天的费用都超过1000
    select name,count(*),min(day),max(day)
      from (select name,day,fee,
                   day-rank() over (partition by name order by day) cc 
               from test where fee>=1000) a
      group by name,cc
      having count(*)>=2;