SELECT sum(zcz) as zcz,sum(zyyw) as zyyw,sum(zycb) as zycb,sum(fyhj) as fyhj,sum(lrzz) as lrzz,
sum(yjsds) as yjsds,sum(gcjj) as gcjj,sum(zfbt) as zfbt,sum(jzc) as jzc,
a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd FROM qy_qybb as a join qy_qyjbqk b on a.qyid=b.qyid
 where b.ssxq='泉州市' and b.jbid<>'3818' and a.nf='2007' and 
(a.jd='1季度'or a.jd='2季度' or a.jd='3季度' or a.jd='4季度') and estate<>'00' 
group by a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd请问聚合函数后如何再分组,我只要 qymc相同的组在一起就可以了?望回复~~~

解决方案 »

  1.   

    --把你的查询做为子查询
    select qymc , sum(zcz)  , 其他的sum... from
    (
    SELECT   sum(zcz)   as   zcz,sum(zyyw)   as   zyyw,sum(zycb)   as   zycb,sum(fyhj)   as   fyhj,sum(lrzz)   as   lrzz, 
    sum(yjsds)   as   yjsds,sum(gcjj)   as   gcjj,sum(zfbt)   as   zfbt,sum(jzc)   as   jzc, 
    a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd   FROM   qy_qybb   as   a   join   qy_qyjbqk   b   on   a.qyid=b.qyid 
      where   b.ssxq='泉州市'   and   b.jbid <> '3818'   and   a.nf='2007'   and   
    (a.jd='1季度'or   a.jd='2季度'   or   a.jd='3季度'   or   a.jd='4季度')   and   estate <> '00'   
    group   by   a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd 
    ) t
    group by qymc
      

  2.   

    或直接group by 
    SELECT   sum(zcz)   as   zcz,sum(zyyw)   as   zyyw,sum(zycb)   as   zycb,sum(fyhj)   as   fyhj,sum(lrzz)   as   lrzz, 
    sum(yjsds)   as   yjsds,sum(gcjj)   as   gcjj,sum(zfbt)   as   zfbt,sum(jzc)   as   jzc, qymc
    FROM   qy_qybb   as   a   join   qy_qyjbqk   b   on   a.qyid=b.qyid 
    where   b.ssxq='泉州市'   and   b.jbid <> '3818'   and   a.nf='2007'   and   
    (a.jd='1季度'or   a.jd='2季度'   or   a.jd='3季度'   or   a.jd='4季度')   and   estate <> '00'   
    group   by   qymc
      

  3.   

    不知道是order 还是group by
      

  4.   

    用第一个方法,提示没有 t列
    用第二方法不行,因为前方使用了聚合函数一定要出现在group中。
      

  5.   

    --把你的查询做为子查询
    select qymc , zcz  , 其他的项 from
    (
    SELECT   sum(zcz)   as   zcz,sum(zyyw)   as   zyyw,sum(zycb)   as   zycb,sum(fyhj)   as   fyhj,sum(lrzz)   as   lrzz, 
    sum(yjsds)   as   yjsds,sum(gcjj)   as   gcjj,sum(zfbt)   as   zfbt,sum(jzc)   as   jzc, 
    a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd   FROM   qy_qybb   as   a   join   qy_qyjbqk   b   on   a.qyid=b.qyid 
      where   b.ssxq='泉州市'   and   b.jbid <> '3818'   and   a.nf='2007'   and   
    (a.jd='1季度'or   a.jd='2季度'   or   a.jd='3季度'   or   a.jd='4季度')   and   estate <> '00'   
    group   by   a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd 
    ) as t
    group by qymc这样就对了,老乌龟笔误了吧.或者将子查询放入到临时表中,一样的道理
      

  6.   

    T己弄成别名,但还是会提示
    select qymc ,sum(zcz) as  zcz,sum(zyyw)  as  zyyw,sum(zycb)  as  zycb,sum(fyhj)  as  fyhj,sum(lrzz)  as   lrzz, 
    sum(yjsds)  as  yjsds,sum(gcjj)  as  gcjj,sum(zfbt)  as  zfbt,sum(jzc)  as  jzc from
    (
    SELECT  sum(zcz) as zcz,sum(zyyw) as  zyyw,sum(zycb) as  zycb,sum(fyhj) as fyhj,sum(lrzz) as  lrzz, 
    sum(yjsds)  as yjsds,sum(gcjj)   as   gcjj,sum(zfbt)   as   zfbt,sum(jzc) as  jzc, 
    a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd   FROM   qy_qybb as  a join  qy_qyjbqk  b  on  a.qyid=b.qyid 
      where   b.ssxq='泉州市'   and   b.jbid <> '3818'   and   a.nf='2007'   and   
    (a.jd='1季度'or   a.jd='2季度'   or   a.jd='3季度'   or   a.jd='4季度'
    )
    and   estate <> '00'   
    group  by  a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd) t
    group by qymc
      

  7.   

    select qymc ,sum(zcz) as  zcz,sum(zyyw)  as  zyyw,sum(zycb)  as  zycb,sum(fyhj)  as  fyhj,sum(lrzz)  as   lrzz, 
    sum(yjsds)  as  yjsds,sum(gcjj)  as  gcjj,sum(zfbt)  as  zfbt,sum(jzc)  as  jzc from
    (
    SELECT  sum(zcz) as zcz,sum(zyyw) as  zyyw,sum(zycb) as  zycb,sum(fyhj) as fyhj,sum(lrzz) as  lrzz, 
    sum(yjsds)  as yjsds,sum(gcjj)   as   gcjj,sum(zfbt)   as   zfbt,sum(jzc) as  jzc, 
    a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd   FROM   qy_qybb as  a join  qy_qyjbqk  b  on  a.qyid=b.qyid 
      where   b.ssxq='泉州市'   and   b.jbid <> '3818'   and   a.nf='2007'   and   
    (a.jd='1季度'or   a.jd='2季度'   or   a.jd='3季度'   or   a.jd='4季度'
    )
    and   estate <> '00'   
    group  by  a.qyid,a.bbid,qyno,qymc,ssxq,nf,jd,nf+jd) as t
    group by qymc
      

  8.   

    把 这个 nf+jd  该为 nf+jd as 'nf+jd'