• 多行函数和分组


    # 分组查询 

    --group by 非聚合字段

    select grade_id,count(*) from student group by grade_id; --每个年级各多少?

    --套路:group by...根据count(*)前面的字段分组,想想场景结果,根据什么分组

    select dept_id,count(*) from s_emp group by dept_id; --查询每部门人数


    --查询每门课程的平均分

    select subjectid,avg(stdentresult) from result group by subjectid order by studentresult;

    --统计每学期男女同学的人数? --先年级分组,后男女分组

    select gradeid,sex,count(*) from student group by gradeid,sex order by gradeid; --多列分组

    # having

    --统计每个年级的人数,低于18人不显示
    ---对分组之后的数据,再次进行条件过滤的话,不能用where,要用having.

    select gradeid,count(*) from student group by gradeid having count(*)>18;


    --统计每个部门的最高工资,部门人数低于3人不显示

    select dept_id,max(salary) from s_emp group by dept_id having count(*)>2;


    ---统计每个部门中工资高于1400的人数,低于2人的不显示

    select dept_id,count(*) 
    from s_emp 
    where salary >1400 
    group by dept_id
    having count(*) >1;
  • 相关阅读:
    单词接龙
    字符串,字符数组
    马的遍历
    约瑟夫问题
    扫雷游戏
    寻找道路
    传纸条
    数的划分
    火柴棒等式
    火星人
  • 原文地址:https://www.cnblogs.com/wzhqzm/p/13358059.html
Copyright © 2020-2023  润新知