有用的知识又增加了!!!!
总结: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