对多表的b字段求和,并按a分组。
实现显示sum(b)>20的记录,where应该怎么样写?
select a,sum(b) from(select a,b from a union all select a,b from b) a  group by a

解决方案 »

  1.   

    select a,sum(b)  b from(select a,b from a union all select a,b from b) a group by a having sum(b) >20
      

  2.   

    codeselect a,sum(b) from(select a,b from a union all select a,b from b) a  group by a having sum(b)>20
      

  3.   

    select a,sum(b) as b from  (select a,b from 表a union select a,b from 表b) T group by a having sum(b)>20
    在取得多个表中的a,b字段的查询中,可以用内连接或左连接的方式抽取出来,这样效率更高一些.由于楼主您没有给出多个表的结构,所以暂时用了自然连接来代替.