电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

OracleDB对行进行分组-groupby、havingVIP免费

OracleDB对行进行分组-groupby、having_第1页
OracleDB对行进行分组-groupby、having_第2页
OracleDB对行进行分组-groupby、having_第3页
实用文案标准创建数据组所有组函数都将表当作一个大型的信息组。但是,有时需要将此信息表分成几个较小的组。可以通过使用GROUPBY子句完成此任务。创建数据组:GROUPBY子句的语法可以通过使用GROUPBY子句将表中的行分成较小的组。SELECTcolumn,group_function(column)FROMtable[WHEREcondition][GROUPBYgroup_by_expression][ORDERBYcolumn];可以使用GROUPBY子句将表中的行分成组。然后,可以使用组函数返回每个组的汇总信息。在该语法中:group_by_expression指定某些列,这些列的值确定对行进行分组的基准准则?除非在GROUPBY子句中指定了单个列,否则即使在SELECT子句中包括组函数,也不能选择单个结果。如果未在GROUPBY子句中包括列的列表,则会收到一条错误消息。?通过使用WHERE子句,可以在将行分成多个组之前先排除某些行。?必须将列包括在GROUPBY子句中。实用文案标准?不能在GROUPBY子句中使用列别名。使用GROUPBY子句SELECT列表中未出现在组函数中的所有列都必须包含在GROUPBY子句中。hr@TEST0924>SELECTdepartment_id,AVG(salary)FROMemployeesGROUPBYdepartment_id;DEPARTMENT_IDAVG(SALARY)------------------------1008601.33333304150700020950070100009019333.333311010154503475.55556406500808955.88235104400605760实用文案标准12rowsselected.使用GROUPBY子句时,应确保将SELECT列表中未出现在组函数中的所有列都包含在GROUPBY子句中。示例显示每个部门的部门编号和平均薪金。下面介绍含有GROUPBY子句的SELECT语句是如何进行求值的:?SELECT:子句指定要检索的列,如下所示:-EMPLOYEES:表中的部门编号列-GROUPBY:子句指定的组中所有薪金的平均值?FROM:子句指定数据库必须访问的表:EMPLOYEES表。?WHERE:子句指定要检索的行。由于没有WHERE子句,默认情况下会检索所有行。?GROUPBY:子句指定如何对行进行分组。由于是按部门编号对行进行分组,因此应用于薪金列的AVG函数会计算每个部门的平均薪金。注:要按升序或降序对查询结果进行排序,请在查询中包含ORDERBY子句。使用GROUPBY子句GROUPBY列不一定要出现在SELECT列表中。hr@TEST0924>SELECTAVG(salary)FROMemployeesGROUPBYdepartment_id;AVG(SALARY)-----------实用文案标准8601.333334150700095001000019333.3333101543475.5555665008955.882354400576012rowsselected.GROUPBY列不一定要出现在SELECT子句中。例如,示例中的SELECT语句显示每个部门的平均薪金,但没有显示相应的部门编号。但是如果没有部门编号,结果看起来毫无意义。也可以在ORDERBY子句中使用组函数:hr@TEST0924>SELECTdepartment_id,AVG(salary)FROMemployeesGROUPBYdepartment_idORDERBYAVG(salary);实用文案标准DEPARTMENT_IDAVG(SALARY)------------------------503475.5555630415010440060576040650070001008601.33333808955.882352095007010000110101549019333.333312rowsselected.按多个列进行分组有时,需要查看组内的各个组的结果。实用文案标准hr@TEST0924>SELECTdepartment_id,job_id,sum(salary)FROMemployeesGROUPBYdepartment_id,job_idORDERBYjob_id;DEPARTMENT_IDJOB_IDSUM(SALARY)----------------------------------110AC_ACCOUNT8300110AC_MGR1200810AD_ASST4400...20rowsselected.此示例显示一个报表,其中显示要付给各个部门中每种职务的薪金总和。EMPLOYEES表首先按部门编号进行分组,然后在各个组中又按职务进行分组。例如,将部门50中的四个仓储职员分成一个组,并为该组中的所有仓储职员生成一个结果(薪金总和)。对多个列使用GROUPBY子句hr@TEST0924>SELECTdepartment_id,job_id,SUM(salary)FROMemployeesWHEREdepartment_id>40GROUPBYdepartment_id,job_idORDERBYdepartment_id;实用文案标准DEPARTMENT_IDJOB_IDSUM(SALARY)----------------------------------50SH_CLERK6430050ST_CLERK5570050ST_MAN3640060IT_PROG2880070PR_REP1000080SA_MAN6100080SA_REP24350090AD_PRES2400090AD_VP34000100FI_ACCOUNT39600100FI_MGR12008110AC_ACCOUNT8300110AC_MGR1200813rowsselected.通过列出多个GROUPBY列,可...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文库当当响+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

最新文章

    确认删除?
    微信客服
    • 扫码咨询
    会员Q群
    • 会员专属群点击这里加入QQ群
    客服邮箱
    回到顶部