irpas技术客

oracle中group by用法报错ORA-00979: not a GROUP BY expression_崛起吧!打不倒的小啊雨

未知 8365

有用的知识又增加了!!!!

总结:Oracle用group by 分组

有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中。(select中的字段不可以单独出现,必须出现在group语句中或者在组函数中。) 否则就会出现错误。

需求描述:

根据A_id字段关联查询两个表数据并对字段B_ID分组取表数据

问题描述:

本没多想需要取什么字段,就先用了*来查询,即:

select b.* from B b LEFT JOIN A a on a.A_ID = b.A_ID where a.B_ID = '101' GROUP BY b.B_ID

那么问题就来了,> ORA-00979: not a GROUP BY expression 报错了

查看了这个解决了问题??

[Err] ORA-00979: not a GROUP BY expression_bad00temper的博客-CSDN博客

修改之后

select b.B_ID,b.B_NAME?from B b LEFT JOIN A a on a.A_ID = b.A_ID where a.B_ID = '101' GROUP BY b.B_ID,b.B_NAME

以上即解决,如有不同观点或者补充欢迎留言!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #oracle中group #by用法报错ORA00979 #not #a #group #by #Expression