oracle数据库--关于使用分组函数以及group by的注意点
2015-07-15 01:42
549 查看
一
报错:不是单组分组函数
如果程序中使用了分组函数,则有两种情况可以使用:
1 程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来
2 如果不使用分组的活,则只能单独使用分组函数,在使用分组函数的时候,不能出现分组条件之外的字段
二、
当使用分组函数时,分组函数只能出现在选择列表、order by 和 having 子句中,而不能出现在 where 和 group by 子句中。另外,使用分组函数还有以下一些注意事项:
1、 当使用分组函数时,除了函数 count(*) 之外,其他分组函数都会忽略 null 行,当然 count(列名) 也会忽略 null 行。
2、 当执行 select 语句时,如果选择列表时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中。
3、 当使用分组函数时,在分组函数中可以指定 all 和 distinct 选项。其中 all 是默认选项,该选项表示统计所有行数据(包括重复行);如果指定 distinct,则只会统计不同行值。
4、 Having 是在 group by 语句之后。
三、
group by 用于对查询结果进行分组统计,而 having 子句则用于限制分组显示结果。注意,如果在选择列表中同时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中。
四、
使用 group by 子句、where 子句和分组函数有以下一些注意事项:
1、分组函数只能出现在选择列表、having 子句和 order by 子句中
2、如果在select 语句中同时包含 group by 、having 以及 order by 子句,则必须将 order by 子句放在最后。默认情况下,当使用 group by 子句统计数组时,会自动按照分组列的升序显示统计结果。通过使用 order by 子句,可以改变数据分组的排序方式。
3、如果选择列表包含有列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中,否则会显示错误消息。
4、当限制分组显示结果时,必须要使用 having 子句,而不能在 where 子句中使用分组函数限制显示结果,否则会显示错误信息。
报错:不是单组分组函数
如果程序中使用了分组函数,则有两种情况可以使用:
1 程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来
2 如果不使用分组的活,则只能单独使用分组函数,在使用分组函数的时候,不能出现分组条件之外的字段
二、
当使用分组函数时,分组函数只能出现在选择列表、order by 和 having 子句中,而不能出现在 where 和 group by 子句中。另外,使用分组函数还有以下一些注意事项:
1、 当使用分组函数时,除了函数 count(*) 之外,其他分组函数都会忽略 null 行,当然 count(列名) 也会忽略 null 行。
2、 当执行 select 语句时,如果选择列表时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中。
3、 当使用分组函数时,在分组函数中可以指定 all 和 distinct 选项。其中 all 是默认选项,该选项表示统计所有行数据(包括重复行);如果指定 distinct,则只会统计不同行值。
4、 Having 是在 group by 语句之后。
三、
group by 用于对查询结果进行分组统计,而 having 子句则用于限制分组显示结果。注意,如果在选择列表中同时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中。
四、
使用 group by 子句、where 子句和分组函数有以下一些注意事项:
1、分组函数只能出现在选择列表、having 子句和 order by 子句中
2、如果在select 语句中同时包含 group by 、having 以及 order by 子句,则必须将 order by 子句放在最后。默认情况下,当使用 group by 子句统计数组时,会自动按照分组列的升序显示统计结果。通过使用 order by 子句,可以改变数据分组的排序方式。
3、如果选择列表包含有列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中,否则会显示错误消息。
4、当限制分组显示结果时,必须要使用 having 子句,而不能在 where 子句中使用分组函数限制显示结果,否则会显示错误信息。
相关文章推荐
- Oracle rownum
- oracle怎么切割一个指定的字符串按指定的标志符分割成字符数组
- oracle11g 遇到用户密码过期的问题
- Oracle数据库中分析函数的使用过程
- oracle中怎么给一个非自增的平常字段加一个唯一id规则,可以是按年月日拼上一个3位数或者六位数
- Oracle Temp 表空间切换
- Union 和 Union All的区别
- oracle 11G自动内存管理
- 关于oracle数据库,表空间,表级的logging属性与hint append
- windows下静默安装oracle
- 创建生成级联上级字符的函数
- windows平台升级ORACLE11.2.0.1到11.2.0.4
- oracle RMAN备份步骤
- Oracle与MySQL的转化差异
- 极限挑战—C#+ODP 100万条数据导入Oracle数据库仅用不到1秒
- ORACLE保留字
- oracle 字符串函数和日期函数
- oracle卸载 oracle11g安装细节+ x5的配置
- oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
- ORACLE查看并修改最大连接数