SQL--4--查--group by(分组查询)

一.分组查询--group by

  1.原因:实际应用中,需先分组,再对每组数据进行操作。

  2.格式:select  … from … group by … (group by 后可跟多个,用”,”分隔)

 

 

  3.分组函数不能直接在where后使用:

   

  4.在一条select语句当中,若有group by语句,select后只能跟:参加分组的字段,以及分组函数。其它的一律不能跟,虽然可执行其语句,但毫无意义。

  

 

 

   5.对分组后数据进一步过滤:--having

    使用规则:having不能单独使用,不能代替where,必须和group by联合使用。

    使用建议:where和having,优先选择where,where实在完成不了了,再选择having

    举例:找出每个部门最高薪资,要求显示最高薪资大于3000的。

方法 语句
having()

select deptno,max(sal) from emp group by deptno having max(sal)>3000;

普通

select deptno,max(sal) from emp where sal > 3000 group by deptno;

  6.执行顺序:

    ①表格排序:

select from where group by having
5 1 2 3 4
查询 从... 过滤 分组 约等于where

    ②文字描述:

      a.从某张表中查询数据;

      b.先经过where条件筛选出有价值的数据;

      c.对这些有价值的数据进行分组;

      d.分组之后可以使用having继续筛选;

      e.select查询出来;

      f.最后排序输出。

posted @ 2021-09-30 11:20  Ukimi  阅读(378)  评论(0)    收藏  举报