Oracle出现不是group by 表达式的原因
2017-08-08 12:18
274 查看
Oracle不是group by 表达式的原因
今天在写sql语句中碰到一个不是group by 表达式的问题,总结了一下产生这个问题的原因
第一,没有把所有的非聚合函数字段加入到group by 中
例如我们要查询一个班级学生的总成绩
select
b.姓名,
sum(c.成绩),
b.性别,
b.年龄
from
班级表 b,
成绩表 c
where
b.姓名=c.姓名
group by
b.姓名,
b.性别,
b.年龄
在这个sql中的group by中 姓名,性别,年龄都必须在 group by分组里
否则会出现 不是group by 表达式的错误。
第二,在group by 中不能用别名
比如
select
b.姓名 as name,
sum(c.成绩),
b.性别,
b.年龄
from
班级表 b,
成绩表 c
where
b.姓名=c.姓名
group by
name,
b.性别,
b.年龄
把姓名换成name 也是会出现 不是group by 表达式的错误
把name 改成b.姓名就可以了。
相关文章推荐
- oracle报错:不是GROUP BY 表达式
- oracle中出现ORA-01791:不是SELECTed表达式错误
- 错误解决--oracle中出现ORA-01791: 不是 SELECTed 表达式 错误
- 关于Oracle报错ORA-00979不是GROUP BY表达式
- 在oracle里报错:ORA-00979: 不是 GROUP BY 表达式
- ORACLE查询中出现“Ora-01791 不是Selected表达式”错误信息的解决办法
- Oracle 之 “ORA-00979:不是GROUP BY 表达式”
- oracle表达式之“ora-0079”不是group by表达式分析(未完待续。。。)
- 错误解决--oracle中出现ORA-01791: 不是 SELECTed 表达式 错误
- Oracle 之 “ORA-00979:不是GROUP BY 表达式”
- 关于Oracle报错ORA-00979不是GROUP BY表达式
- oracle 不是group by表达式
- Oracle报错:不是GROUP BY 表达式
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释:
- ORA-00979:不是GROUP BY表达式
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 不是group by 表达式错误
- oracle排序,出现页数不同数据却重复问题的原因及解决办法
- sql:ORA-00979:不是GROUP BY 表达式