永发信息网

Oracle,SQL语句中对错误提示:不是单组分组函数的一个疑问

答案:2  悬赏:60  手机版
解决时间 2021-11-18 15:19
  • 提问者网友:無理詩人
  • 2021-11-18 09:18
Oracle,SQL语句中对错误提示:不是单组分组函数的一个疑问
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-11-18 09:40
select deptno,max(count(*)) from emp group by deptno
其中max(count(*))相当于2次分组,那么对应的select 中的其他列也需要进行2次分组,比如说:
select max(deptno),max(count(*)) from emp group by deptno

原因很简单,sql语言就面向集合的,如果求出来max(count(*)),那么deptno需要对应的是哪一条呢?
全部回答
  • 1楼网友:几近狂妄
  • 2021-11-18 10:17
出现“不是单组分组函数”是因为分组后只能用一些汇总的函数,不能用查询“*”,因为非分组的值不属于任何分组,所以就报错了。
举例: 通过group by进行分组后,可以通过sum进行求和,count进行数值计算。
sql:select username ,count(accountNo) as count,sum(amount) as amount
from tablename group by username;
以上就可以求出username下,accountNo的条数和对应的总amount。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯