mysql教程(三)分组查询group by

1、select的语法规则

  一个完整的select模板:

    select 字段 from 表名

    where...

    group by...having...

    order by...

  以上语句的执行顺序

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

    ● 执行group by进行分组

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

    ● 执行select选出数据

    ● 执行order by排序

  原则:能在where中过滤的数据,尽量在where中过滤,效率较高。having的过滤是专门对分组之后的数据进行过滤的。

2、group by 分组

  在select语句中,如果使用group by,那么在select后面只能跟分组函数(max、min、sum、avg等)+分组字段

3、having 

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

  示例:

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

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

    

posted @ 2020-12-09 16:40  爱好编程的王能能  阅读(200)  评论(0编辑  收藏  举报