select
    '2011-12-23~2011-12-25' as DEALDATE, 
   'ALL' as USERID, 
   count(*) as HandledQty ,
    sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
    sum(decode(RESULT,'Reject',1,0)) as RejectQty 
from 
   AF_OPERATOR_LOG 
where
    DEALDATE between ('2011-12-23','2011-12-25')
 and
   TASKTYPE=IQC 
group by 
   DEALDATE, USERID
不知道我的这个SQL语句是否正确,或者错在哪里,希望高手帮帮忙啦,O(∩_∩)O谢谢

解决方案 »

  1.   

    分组是常量就不用group by 了
    select
      '2011-12-23~2011-12-25' as DEALDATE,  
      'ALL' as USERID,  
      count(*) as HandledQty ,
      sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
      sum(decode(RESULT,'Reject',1,0)) as RejectQty  
    from  
      AF_OPERATOR_LOG  
    where
      DEALDATE between ('2011-12-23','2011-12-25')
     and
      TASKTYPE=IQC  
    ;或者
    select
      '2011-12-23~2011-12-25' as DEALDATE,  
      'ALL' as USERID,  
      count(*) as HandledQty ,
      sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
      sum(decode(RESULT,'Reject',1,0)) as RejectQty  
    from  
      AF_OPERATOR_LOG  
    where
      DEALDATE between ('2011-12-23','2011-12-25')
     and
      TASKTYPE=IQC  
    group by  
      '2011-12-23~2011-12-25', 'ALL'
      

  2.   

    因为没有你表的结构和各个属性的类型,所以只能安如下假设来考虑了 :
    dealdate是表中的一个字段,为date类型。
    只能从语法上看一下,不保证逻辑上满足你的要求。select
      '2011-12-23~2011-12-25' as MyDate,  
      'ALL' as USERID,  
      count(*) as HandledQty ,
      sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
      sum(decode(RESULT,'Reject',1,0)) as RejectQty  
    from  
      AF_OPERATOR_LOG  
    where
      DEALDATE between to_date('2011-12-23', 'YYYY-MM-DD')
      AND to_date('2011-12-25', 'YYYY-MM-DD')
     AND   TASKTYPE=IQC;
      

  3.   

    如果DEALDATE 為日期類型就是剛才樓上的.
    如果是字串的.就用下面.
    select
      '2011-12-23~2011-12-25' as MyDate,  
      'ALL' as USERID,  
      count(*) as HandledQty ,
      sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
      sum(decode(RESULT,'Reject',1,0)) as RejectQty  
    from  
      AF_OPERATOR_LOG  
    where
      DEALDATE between to_date('2011-12-23', 'YYYY-MM-DD')
      AND to_date('2011-12-25', 'YYYY-MM-DD')
     AND   TASKTYPE=IQC;select
      '2011-12-23~2011-12-25' as MyDate,  
      'ALL' as USERID,  
      count(*) as HandledQty ,
      sum(decode(RESULT,'Accept',1,0)) as AcceptQty ,
      sum(decode(RESULT,'Reject',1,0)) as RejectQty  
    from  
      AF_OPERATOR_LOG  
    where
      DEALDATE between '2011-12-23'  AND '2011-12-25' AND   TASKTYPE=IQC;