by的使用利用Oracle中Group By实现数据汇总(oracle中group)
SQL的Group By机制主要用于把筛选结果按照某个或多个字段进行分组,最后筛出数据时不是按照列来显示,而是采用某种对分组内元素进行汇总的方式来显示结果。Group By利用Oracle等数据库实现数据汇总时,有以下几种用法。
第一,查询某一表中的某一字段的汇总数据。例如,企业内某部门的员工的总数:
SELECT count(*) FROM employee WHERE department_name=’XXX’ Group BY department_name;
这样就可以查出这个部门的总人数,其中count()函数用来统计字段的计数,对其结果进行汇总。
第二,查询表中的某一字段的汇总数据及其各个分组的汇总数据。例如,查询某表某字段的总金额及这个金额按照表中某个字段分组后的金额总和:
SELECT sum(money), group_name FROM table_Name GROUP BY group_name;
这样就能查出表中,每种指定字段值对应的金额总和,其中sum()函数可以用来统计某字段数值的总和,达到汇总的目的。
第三,利用Group By子句中的having子句来顺便筛选某些符合特定条件的分组,例如,查询商品的总价格,而且只筛选出价格高于100的数据:
SELECT sum(price) FROM commodities GROUP BY type HAVING sum(price)>100;
这样,我们就可以筛选出价格高于100的数据汇总出来。
通过以上三个用法,可以看出Oracle的Group By机制可以很好的实现数据汇总,把表中各种分组的数据元素进行汇总,同时可以根据条件筛选出满足特定条件的分组结果,这给实际工作中复杂查询带来了极大的便利。