暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle学习笔记_6

一块不冰的冰糖 2021-09-22
189

点击蓝字 关注我们


·新学习·新旅程  NEW TERM


Oracle学习笔记_6_分组查询


分组查询

# 分组查询主要涉及两个语句,group by 和 having

GROUP BY

# group by 进行查询结果分组

-- 按照班统计各班的人数

    select class,count(*) from stu group by class;

-- 按照班级、省份统计各班的人数

    select class,pro,count(*) from stu group by class,pro;


出现在查询列表中的字段,要么出现在组函数中,要么出现在group by 中

也可以只出现在group by 中

group by 后可以跟order by 进行排序

HAVING

# having 对分组之后的数据进行过滤

-- 取得每个岗位的平均工资大于 2000

    select job, avg(sal) from emp group by job having avg(sal) >2000;


如果想对分组数据再进行过滤需要使用 having 子句

分组函数的执行顺序: 

    1、 根据条件查询数据 

    2、 分组 

    3、 采用 having 过滤,取得正确的数据 

原则:可以在 where 语句中过滤的数据,不要使用 having 过滤。

SELECT 总结

# 一个完整的select语句格式

    select 字段

    from 表名

    where …

    group by ...

    having ...

    order by ...

以上语句的执行顺序

首先执行 where 语句过滤原始数据

执行 group by 进行分组

执行 having 对分组数据进行操作

执行 select 选出数据

执行 order by 排序


简单的分组查询

2021/9/21



文章转载自一块不冰的冰糖,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论