oracle中怎么分组,对Oracle中分组函数的一点点理解

一、当使用分组函数时,分组函数只能出现在选择列表、order by 和 having 子句中,而不能出现在 where 和

group by 子句中。另外,使用分组函数还有以下一些注意事项:

1、 当使用分组函数时,除了函数 count(*) 之外,其他分组函数都会忽略 null 行,当然

count(列名) 也会忽略 null 行。

2、 当执行 select

语句时,如果选择列表时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by 子句中。

3、 当使用分组函数时,在分组函数中可以指定 all 和 distinct 选项。其中 all

是默认选项,该选项表示统计所有行数据(包括重复行);如果指定 distinct,则只会统计不同行值。

4、 Having 是在 group by 语句之后。

二、group by 用于对查询结果进行分组统计,而 having

子句则用于限制分组显示结果。注意,如果在选择列表中同时包含列、表达式和分组函数,那么这些列和表达式必须出现在 group by

子句中。

三、使用 group by 子句、where 子句和分组函数有以下一些注意事项:

1、分组函数只能出现在选择列表、having 子句和 order by 子句中

2、如果在select 语句中同时包含 group by 、having 以及 order by 子句,则必须将 order by

子句放在最后。默认情况下,当使用 group by 子句统计数组时,会自动按照分组列的升序显示统计结果。通过使用 order by

子句,可以改变数据分组的排序方式。

3、如果选择列表包含有列、表达式和分组函数,那么这些列和表达式必须出现在

group by 子句中,否则会显示错误消息。

4、当限制分组显示结果时,必须要使用

having 子句,而不能在 where 子句中使用分组函数限制显示结果,否则会显示错误信息。

这只是我的一点点总结,不全面,希望对大家有所帮助!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值