问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ora-00937 不是单分组函数

发布网友 发布时间:2022-04-09 04:11

我来回答

4个回答

懂视网 时间:2022-04-09 08:32

SELECT USER_ID, 2 USER_NAME, 3 USER_SEX, 4 MAX(USER_AGE), 5 SUM(USER_MONEY) AS USER_MONEY 6 USER_TEL, 7 USER_EMAIL, 8 USER_ADD, 9 USER_STATUS, 10 FROM USERS 11 ORDER BY USER_NAME, USER_SEX, USER_STATUS; 12 类似这种,多个字段的GROUP BY该怎么写。


1.USER_TEL,        USER_EMAIL,        USER_AD不是分组函数里的字段。
你是group by 的语法不太熟悉。
对于group by 语句,在查询出来的字段中,只能包含group by后面跟的字段以及分组函数。。
就是说USER_NAME, USER_SEX, USER_STATUS;可以查询,因为是分组字段
MAX(USER_AGE),        SUM(USER_MONEY) 可以使用因为是分组函数。
但是其他的字段什么都不是,所以报错。。

2.简单的来说 如果查询字段中有sum、count类似的聚合函数 那么其他字段必须要在group by 中出现

再通俗的说 group by后面的字段 不能少于查询中的非聚合函数字段

3.GROUP by 写法,把在SELECT 中出现的字段,而有没有用聚合函数的字段,都要列在GROUP BY 子句里

4.技术分享

 

5.

ORA-00937:不是单组分组函数_Oracle

标签:

热心网友 时间:2022-04-09 05:40

  select 列表项中除了包含聚合函数外,还包含了表的某些列,那么将必须使用group by语句,否则语法通不过。
  例如:
  SQL>
  1 select deptno,job,avg(sal)

  2 from emp
  3 ;ERROR 位于第 1 行:ORA-00937: 非单组分组函数

  其实这里也非常容易理解,既然指定了聚合函数,又同时制定了其他列,还想不按照指定的列来分组,那么到底想让oracle怎么做呢?这根本就得不出结果。就像需要统计班上男女生的人数,但是又不能分组,只能在一条数据里表示出来,怎么能办得到呢?所以这里的group by是必须的。
  上面的错误纠正为:select deptno,job,avg(sal) from emp group by deptno,job;

热心网友 时间:2022-04-09 06:58

问题应该出在max(sum(degree))这里。你是想根据sno分组求出degree的和,然后打印出和最大的那个sno所对应的记录。这样的话应该这么写:

select sno,cno,degree from score
where sno in
(select sno from
(select sno,row_number() over (order by sum(degree) desc) seq
from score
group by sno) t
where seq=1)

热心网友 时间:2022-04-09 08:33

问题应该出在max(sum(degree))这里。你是想根据sno分组求出degree的和,然后打印出和最大的那个sno所对应的记录。是不是?这样的话应该这么写:

select sno,cno,degree from score 
where sno in 
(select sno from
(select sno,row_number() over (order by sum(degree) desc) seq
from score
group by sno) t
where seq=1)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么电脑上的word界面变小为什么WORD里面的页面变的很小怎么设置回来... AHA拯救心脏救命术(Basic Life Support,BLS) 基础生命的基本顺序 机械制图第一视角与第三视角的区别 明日之后野外感染者据点都在什么地方 感染就聚集点位置分享 明日之后 明日之后哪些地图有强力感染者? 《明日之后》野外感染者据点一览 明日之后野外感染者据点去哪找 妙洁提醒你注意:保鲜膜有些不能加热 有些不能包肉 C盘里文件的修改日期是不是就代表那天我用过电脑,我是上午用的,可文件... 和美家生个孩子要多少钱 哈尔滨和美家房地产中介服务质量很差,而且不服责任! 美和美家装饰怎么样 哈尔滨和美家地产服务怎么样? 沈阳和美家妇产医院人流好么? 从南通五一路公交停车场到和美家妇产科医院乘公交车怎么走? 哈尔滨和美家房地产是个什么情况 待遇如何啊 去和美家做nt需要空腹吗? 和美家可以做nt吗 到南通和美家医院的公交线路 和美家人流贵吗! 和美家房地产和好家庭房地产哪个好 和美家房产这几个字是什么字体 和美家在南通大学主校区的哪个方位 和美家的整体厨柜怎么样,买什么牌子的整体厨柜好? 久和美家会员卡能退嘛 和美家整体橱柜是什么和类型有什么 有谁在用和美家橱柜,谈一下感受呗 临沂和美家医院正不正规? 枇杷和冰糖煮水后密封能储存多久不会坏? 怎样能下载那个QQ主题管家?求解 苹果怎么下载qq主题管家? 步步高vivo S9 毕业生登记表证明人填谁 教育经历证明人可以写同学吗? 河南大学汉语言文学自考专科学历的证明人要写谁 公务员报考学历证明人那一栏怎么填写 面试完,面试官和你说回去等通知是不是就基本没戏了? 我在高考报名时,在填写履历信息是,把就读过学校的证明人填成了张三,有事吗 面试后说回去等通知,是被拒绝了吗? 申请法律职业资格证学历证明中证明人一栏怎么填 请问,法律职业资格证申请,有一栏是填写申请人学习情况及学历及其证明的!自考本科学历怎么填? 数字集群对讲机的功能有哪些,哪个牌子更齐全? 面试回去等通知有戏吗? 求教,学习情况,学历及其证明,当中的证明人怎么填 面试说等通知,是不是就凉了? 公务员报考学历证明人可以填哪些? 教师资格证认定申请表中个人简历要填写至今,但是至今是待业在家的怎么写,证明人是谁? 去小公司面试,面试官说让回去等通知,也没说要等多久,是不是凉了? 高中时候填的证明人和大学证明人可以不一样吗