oracle sql语句复杂查询
2013-02-27 10:15
381 查看
在关系数据库中,数据分组是通过使用Group by字句,分组函数以及having子句共同实现的,其中
group by子句用于指定分组列(例如deptno),
分组函数用于显示统计结果(如count,avg,sun等),
having子句用于限制分组显示结果。
1.分组函数用于统计表的数据,与单行函数不同,分组函数作用于多行,并返回一个结果,所以有时也称作多行函数。一般情况下,分组函数要与group by子句结合使用,如果忽略group by子句,那么会汇总所有行,并产生一个结果。使用分组函数时。有以下一些注意事项:分组函数只能出现在选择列表,order
by子句,having子句中;当使用分组函数时,会忽略null行;如果在选择列表中既包含分组函数,也包含其他列和表达式,那么这些列或表达式必须出现在group by子句中;当使用分组函数时,可以在函数中指定all和distinct选项
max/min
select max(sal) 最高工资 min(sal) 最低工资 from dep;
avg/sum
select
avg(sal) 平均工资 sun(sal)
工资总和 from dep;
count
select count(*)
from dep;
=========================
select
column,group_function From table [where condition]
[Group by group_by_expression] [Having group_condition] [Order by expression]
=========================
order by子句改变分组排序结果
分组函数只能出现在选择列表,having子句和order by子句中
如果再select语句中同时包含有group by,having,order by子句时,order by子句放在最后
如果选择列表包含有列,表达式和分子函数,那么这些列和表达式必须出现在group by子句中(重要)
分组函数不能用在where中
==================================================================
group by子句用于指定分组列(例如deptno),
分组函数用于显示统计结果(如count,avg,sun等),
having子句用于限制分组显示结果。
1.分组函数用于统计表的数据,与单行函数不同,分组函数作用于多行,并返回一个结果,所以有时也称作多行函数。一般情况下,分组函数要与group by子句结合使用,如果忽略group by子句,那么会汇总所有行,并产生一个结果。使用分组函数时。有以下一些注意事项:分组函数只能出现在选择列表,order
by子句,having子句中;当使用分组函数时,会忽略null行;如果在选择列表中既包含分组函数,也包含其他列和表达式,那么这些列或表达式必须出现在group by子句中;当使用分组函数时,可以在函数中指定all和distinct选项
max/min
select max(sal) 最高工资 min(sal) 最低工资 from dep;
avg/sum
select
avg(sal) 平均工资 sun(sal)
工资总和 from dep;
count
select count(*)
from dep;
=========================
select
column,group_function From table [where condition]
[Group by group_by_expression] [Having group_condition] [Order by expression]
=========================
order by子句改变分组排序结果
分组函数只能出现在选择列表,having子句和order by子句中
如果再select语句中同时包含有group by,having,order by子句时,order by子句放在最后
如果选择列表包含有列,表达式和分子函数,那么这些列和表达式必须出现在group by子句中(重要)
分组函数不能用在where中
==================================================================
相关文章推荐
- 解析Oracle中sql语句的复杂查询
- Oracle查询表空间的使用情况的SQL语句,很实用
- oracle简单和复杂的SQL语句练习
- [Oracle]客户端查询数据库最近执行的SQL语句
- 查询Oracle正在执行和执行过的SQL语句
- oracle中SQL查询重复的语句
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
- Oracle下复杂查询语句
- oracle 实时查询最耗CPU资源的SQL语句
- SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
- oracle复杂查询语句的使用
- 【转】SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
- Oracle维护常用SQL语句(查询系统表和视图)
- Oracle 查询并删除重复记录的SQL语句
- 关于oracle sql语句查询时 表名和字段名要加双引號的问题具体解释
- 怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。
- 使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
- sql语句查询经纬度范围 Oracle
- Oracle 查询数据库表空间sql语句