# 查询每个工种的员工平均工资SELECTAVG(salary),
job_id
FROM
employees
GROUPBY
job_id;
2、分组前的筛选
# 查询邮箱中包含a字符的 每个部门的最高工资SELECTMAX(salary),
department_id
FROM
employees
WHERE
email LIKE'%a%'GROUPBY
department_id;
3、分组后的筛选
#查询哪个部门的员工个数>5#1、查询每个部门的员工个数SELECTCOUNT(*),
department_id
FROM
employees
GROUPBY
department_id;#2、 筛选刚才 1 结果SELECTCOUNT(*),
department_id
FROM
employees
GROUPBY
department_id
HAVINGCOUNT(*)>5;
#每个工种有奖金的员工的最高工资>12000的工种编号和最高工资SELECT
job_id,MAX(salary)FROM
employees
WHERE
commission_pct ISNOTNULLGROUPBY
job_id
HAVINGMAX(salary)>8000;
4、添加排序
#每个工种有奖金的员工的最高工资>6000的工种编号和最高工资,按最高工资升序SELECT
job_id,MAX(salary) max
FROM
employees
WHERE
commission_pct ISNOTNULLGROUPBY
job_id
HAVING
max >6000ORDERBY
max;
5、多个字段分组
#查询每个工种每个部门的最低工资,并按最低工资降序SELECTMIN(salary),
job_id,
department_id
FROM
employees
GROUPBY
department_id, job_id
ORDERBYMIN(salary)DESC;
MySQL学习笔记5group by 分组查询1、简单的分组2、分组前的筛选3、分组后的筛选4、添加排序5、多个字段分组group by 分组查询语法:select 查询列表from 表[where 筛选条件]group by 分组的字段[order by 排序的字段];1、和分组函数一同查询的字段必须是group by后出现的字段2、筛选分为两类:分组前筛选和分组后筛选针对的表位置连接的关键字分组前筛选原始表group by前where分组后筛选