oracle常用查询统计函数.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?在应用系统开发中,进行需要统计数据库中的数据,当执行数据统计时,需要将表中的数据进行分组显示,本文对统计分组中group by子句、分组函数、having子句的用法进行了举例说明,其中group by子句用于指定要分组的列,而分组函数用户指定显示统计的结果,而having子句用户限制显示分组结果。 同时对分析函数over、递归函数connect by/start with进行了详细解析,并例举了3种解决聚合问题的方法。?一、分组函数 ?分组函数用于统计表的数据,并作用于多行,但是返回一个结果,一般情况下,分组函数要与group by子句结合使用,Oracle数据库提供了大量的分组函数,常用的五个分组函数: 1.Max:该函数用于取得列或表达式的最大值,适用于任何数据类型。??2.Min:该函数用于取得列或表达式的最小值,适用于任何数据类型。??3.Avg:该函数用于取得列或表达式的平均值,适用于数字类型。??4.Sum:该函数用于取得列或表达式的总和, 适用于数字类型。??5.Count:该函数用于取的行数总和。 注意: 1、当使用分组函数时,分组函数只能出现在选择列表、order by和having子句中,而不能出现在where、group by子句中。 2、当使用分组函数时,除了函数count(*)外,其他分组函数都会忽略NULL行。 3、当执行select语句时,如果选择列表同时包括列、表达式和分组函数,那么这些列、表达式必须出现在group by子句中。 4、当使用分组函数时,在分组函数中可以指定all和distinct选项,其中all是默认选项,该选项表示统计所有行数据(包括重复行),distinc可以统计不同行数据。 示例如下: 1、取得某列最小值、最大值、平均值、总和和总计行数 1.select max(id) as max_id,min(id) as min_id,avg(id) as avg_id,sum(id) as sum_id,count(*) as count from cip_temps;??2、去除重复值 1.select count(distinct id) from cip_temps;??二、group by和having子句 ?group by子句是对统计的结果进行分组统计,而having子句用于限制分组显示结果,语法如下: select column,group_function from table [where condition][group by group_by_experssion][having group_function];如上所示,column用于指定列表中的列或表达式,group_function用于指定分组函数,condition用于指定条件子句,group_by_experssion用于指定分组表达式,group_function用于指定排除分组结果条件。 1、使用group by进行单列分组,如下:select id as id,min(age) max_age,max(age) max_age from cip_temps group by id;2、使用having子句限制分组显示结果,如下: select id as id,count(age) count from cip_temps group by id having count(age)=2;三、case表达式 case格式如下: case when 条件 then 返回值1 when 条件2 then 返回值2 else 返回值3 end??示例如下: select name,age,address,case when id=21 then abc when id=22 then def else hij end alias from cip_temps; 四、Oracle常用统计函数 1、数字函数 ?(1) mod(m,n)该函数用于返回取得两个数字相除后的余数,如果数字为0,则返回结果为m。 ?(2) round(n,[m]该函数用于取得四舍五入运算,如果省略m,则四舍五入至整数位;如果m是负数,则四舍五入到小数点前m位;如果m是正数,则四舍五入到小数点后m位。 ?(3) trunc(n,[m])该函数用于截取数字,如果省略m,则将数字n的小数部门截取;如果m为正数,则将数字n截取至小数点后的第m位,如果m为负数,则将数字n截取小数点的前m为。 示例如下: 1.select mod(10,4) from dual;??2.select round(101234.567,-4) from dual;??3.select round(101.234567,4) from dual;??4.se

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档