select serv_id ,acct_id,cust_id,
sum(charge)/100,sum(duration),sum(meter),sum(counts) 
from ods_bill_detail_item_day 
where latn_id=2004 
group by serv_id,acct_id,cust_id;
才可以

解决方案 »

  1.   

    那是sql 語法,一定要把sum()外的所有字段加進來。
      

  2.   

    楼主,一看你的SQL语句我就知道你肯定是做电信行业的吧!呵呵,这种ACCT_ID,CHARGE,DURATION的字段名对我来说简直太熟了.
      

  3.   

    acct_id,cust_id没有在分组条件内
      

  4.   

    welyngj(平平淡淡) 的答案是对的。
    对于需要分组的语句,select子句中,所有非分组字段都必须在group by子句的列表中;
    否则语意是不通的。
    当然,你的意思也可能是:
    select serv_id,sum(charge)/100,sum(duration),sum(meter),sum(counts) from ods_bill_detail_item_day where latn_id=2004 group by serv_id;