首頁  >  文章  >  資料庫  >  oracle中having子句的使用

oracle中having子句的使用

WBOY
WBOY原創
2016-06-07 15:27:451122瀏覽

先了解一下聚合函数,例如 SUM,COUNT,MAX,AVG等。 这些函数和其他函数的根本区别就是他们一般作用在多条记录上 select count(unit_id) from sys_user; 这里的COUNT作用在所有返回记录的unit_id字段上,结果就是该查询只返回一个结果,即总数。 通过使用GR

先了解一下聚合函数,例如 SUM,COUNT,MAX,AVG等。

这些函数和其他函数的根本区别就是他们一般作用在多条记录上

select count(unit_id) from sys_user;  这里的COUNT作用在所有返回记录的unit_id字段上,结果就是该查询只返回一个结果,即总数。

通过使用GROUP BY子句,可以让SUM和COUNT这些函数对属于一组的数据起作用。当你指定BROUP BY unit_id时,属于同一unit_id的一组数据将智能返回一行值

HAVING子句可以让我们筛选分组后的各组数据,WHERE子句在聚合前线筛选记录,也就是说作用在GROUP BY 子句和HAVING子句前

而HAVING子句在聚合后对组记录进行筛选。

HAVING子句可针对汇总运算得到的结果进行筛选,取得聚合特征符合某一条件的数据集,

 

下面通过SQL实例来看HAVING的使用

oracle中having子句的使用

统计每个UNIT_ID下有多少人,并且大于50

select unit_id,count(*) from sys_user group by unit_id

oracle中having子句的使用

这样就查出了每个UNIT_ID下面的各个人数,要想只得到大于50的就需要HAVING子句

select unit_id,count(*) from sys_user group by unit_id having count(*) > 50;

oracle中having子句的使用

 



 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn