oracle聚合函数使用----总结中
来源:互联网 发布:淘宝网苏泊尔电饭煲 编辑:程序博客网 时间:2024/05/16 08:55
Oracle数据库中的函数很多,其分组函数和聚合函数是Oracle函数中比较常用的函数。
分组函数有Group by 函数,聚合函数有count()、sum()、avg()、max()、min()等等,这里做一些自己的总结,会不断的更新本文的内容。
- CREATE TABLE STUDENT
(
STU_NAME VARCHAR2(10),
STU_NO NUMBER(5,0) PRIMARY KEY NOT NULL,
STU_AGE NUMBER(3,0)
) - 1. select count(STU_AGE) from STUDENT
- 检索项目中只有聚合函数count(),则一定检索到一条数据,表STUDENT中没有数据,则结果为0,
- 表STUDENT中有数据,则为数据的件数。
- 2. select sum(STU_AGE) from STUDENT
- 检索项目中只有聚合函数sum(),则一定检索到一条数据,表STUDENT中没有数据,则结果为null,
- 表STUDENT中有数据,则为每条数据的STU_AGE的和。
- 使用数据库查看工具可能看不到null的效果,反而跟没有使用sum()函数检索到数据的结果一样,例如:
- select STU_AGE from STUDENT 结果和select sum(STU_AGE) from STUDENT结果在数据库查看工具中一样,但是在java代码中可以看到区别,前面sql文检索到0条数据,后面的sql文检索到1条数据,但数据的结果为null。
- 在数据库查看工具中使用下面的方式区分:
- select nvl(sum(STU_AGE),0) from STUDENT 结果为0,
- nvl()函数是在检索结果中(存在至少一条数据),如果字段STU_AGE的值为NULL,则用0来替换NULL,
- 上面的sql文因为使用nvl后的显示结果为0,说明检索到一条数据了。
- 检索项目中不只有聚合函数sum(),eg:
- select STU_NAME,sum(STU_AGE) from STUDENT group by STU_NAME
- 则存在检索不到数据的情况,例如表STUDENT中没有数据,检索到0件数据。
- 在数据库查看工具中使用nvl的方式:如下
- select STU_NAME,nvl(sum(STU_AGE),0) from STUDENT group by STU_NAME
- 检索结果中不存在0,说明没有检索到数据。
为什么会产生上面的结果,我正在查询中?可能需要了解sql执行顺序机制,以及执行中什么时候终止。
- 3.聚合函数avg()、max()、min()的情况和sum()函数一样,自己可以试一下。
- oracle聚合函数使用----总结中
- Oracle中使用聚合函数
- Oracle分析函数/聚合函数使用总结 .
- oracle中聚合函数RANK和dense_rank的使用
- oracle中聚合函数RANK和dense_rank的使用
- 有关oracle中聚合函数rank和dense_rank的使用
- oracle中聚合函数rank、dense_rank和row_rumber的使用
- SQL中的聚合函数使用总结
- 在oracle的聚合函数(sum、avg等)中使用NVL函数,强迫加入空值
- oracle中使用简单函数总结
- 在DataViw中使用SQL聚合函数
- Hibernate 中聚合函数的使用
- MySQL中聚合函数的使用
- Oracle分析聚合函数
- oracle自定义聚合函数
- oracle 聚合函数
- Oracle中的聚合函数
- Oracle中的聚合函数
- 重读《Programming Pearls》之五:A Small Matter of Programming
- css expression的四个用法
- shell基础系列:awk 用法
- MSSQL中如何用SQL清除所有表的数据(downmoon)?
- 关键词优化之自架搜索引擎篇
- oracle聚合函数使用----总结中
- 针对sql 2005优化的高性能分页存储过程
- 大学期间经常编写的小程序
- 用ExtJS 实现动态载入树(Load tree)(转载)
- 注册表修改后快速生效的方法
- escape在sqlserver中的使用--【叶子】
- 双服务器或多服务器夜间自动备份问题的解决方案
- 技术 +市场必须两手抓
- jQuery的一个小插件模板输入