SQL中group by 与 compute by

group by

使用group by子句联合集合函数分组查询:

group by 用于对结果集分组异对,每组数段进行汇总。

语法格式: group by  列名 [having  条件表达式]

它是按指定的列进行分组,将该列相同的记录组成一组,对每组进行计算,having 则是把分组的记录加以过滤,where 子句里在汇总之前加以过滤。

   注意:select 语句中显示的列是参加计算的列和 group by 子句中有的列。

     例: select egg_liang , count (egg_jia) as 个数 , 总和 = sum(egg_jia)

                            (要显示的列)

          from  egg  

          group by  egg_liang     -----> 要分组的列(与上面的必须一样)

          having  sum (egg_jia) > 250

 

compute by

使用 compute by 子句:它是用来分组汇总结果集内所有数据,它与 group by 的区别是:compute by 不仅要显示汇总数据,还要显示参加汇总的记录详细信息。

语法格式:compute  聚集函数  [by  列名] ------>“聚集函数”可以写多个

注意:必须先按汇总的列排序之后,才能用 compute by 进行汇总。

select * from qian order by biao_jia compute sum (biao_liang) by biao_jia

                      (要排序的列)        (要汇总的列)  (必须和要排序的列一样)

posted @ 2016-06-21 22:52  风行#xyz#  阅读(548)  评论(0编辑  收藏  举报