我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle 中关于 group by 的那些坑

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle 中关于 group by 的那些坑

Oracle 中关于 group by 的那些坑

分组聚合Group by

  •  在mysql中,对group by 的使用限制是比较宽松,还是比较灵活的, 表数据之间的调取是完全没问题的;
  • 而在Oracle中,对group by 就有一定限制,两句相同的SQL语句,可能在mysql中不会报错,但在Oracle中就会报错了,报错如下:

 

SQL语句例如: 

 select ar.name 区域名,a.areaid 区域号,sum(a.money) 年水费合计数   from t_account a, t_area ar where  ar.id=a.areaid  group by a.areaid;

 

如果直接在Oracle中这样写,就会直接报以上显示的错误

正确写法:

select (select ar.name from t_area ar where ar.id=a.areaid  )as 区域名,a.areaid 区域号,sum(a.money) 年水费合计数   from t_account a  where a.year="2012" group by a.areaid;

 

 

总结:

  • 如果没有group by 子句,select 中不能同时出现字段与分组的聚合函数,

例如:错误的用法

select ar.name 区域名,a.areaid 区域号,sum(a.money) 年水费合计数   from t_account a, t_area ar where  ar.id=a.areaid 

  • 在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,如果没有在聚合函数中,那么必须出现在group by 子句中。(select中的字段不可以单独出现,必须出现在group语句中或者在聚合函数中。)
  • 通俗点来说就是; 在有 group by 的子句的查询中 , 如果要在select 后面接 展示的字段 , 只能用当前group by 所在表的字段(group by 子句中的字段), 或者使用在聚合函数中 

 

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle 中关于 group by 的那些坑

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle 中关于 group by 的那些坑

分组聚合Group by  在mysql中,对group by 的使用限制是比较宽松,还是比较灵活的, 表数据之间的调取是完全没问题的; 而在Oracle中,对group by 就有一定限制,两句相同的SQL语句,可能在mysql中不会报错,但在Orac
Oracle 中关于 group by 的那些坑
2021-03-16

Shell中关于exit 0的那些坑

在 shell 编程中,需慎用 exit 0! 首先必须弄清楚 exit 0 不是 return 0, 区别在于 return 0 用VGqldKkU于函数中,表示函数执行成功返回 0;而 exit 0 则代表你当前程序执行成功并且会直接退
2022-06-05

详解关于Android Studio中安装和gradle的一些坑

本人从开始用Android Studio到现在已经快一年了吧,在我刚开始用的时候Android Studio还是1.2的版本。当时安装会因为国内墙的缘故,导致下载SDK步骤卡死无法安装。最近的版本似乎都没出现这个问题,但是还是要吐槽一下最近
2023-05-30

编程热搜

目录