黑猴子的家:mysql 分组查询

1、分组查询总结
语法:
select 分组函数 别名,分组后的字段
from 表
【where 分组前筛选】
group by 分组的字段
【having 分组后筛选】
【order by 排序的东西】
特点:
1、按多个字段分组,字段间用逗号隔开,没有顺序要求
2、可以分组函数一起查询的字段只能是分组后的字段
3、分组筛选
            针对的表            位置            使用的关键字
分组前筛选   原始表          group by的前面       where
分组后筛选   分组后的结果集   group by的后面       having
顺序:where -> group by -> having  
4、having和group by支持别名
2、引入:查询各部门的最高工资
SELECT MAX(salary) FROM employees WHERE department_id IN(20,90,30);
SELECT MAX(salary) FROM employees GROUP BY  department_id;
3、普通的分组查询

案例:查询各部门的最高工资和部门号

SELECT MAX(salary),department_id FROM employees GROUP BY  department_id;
4、按多个字段分组

案例:查询每个工种、每个部门的平均工资

SELECT AVG(salary),job_id,department_id
FROM employees
GROUP BY job_id,department_id;
5、分组加筛选总结
/*
筛选条件分两类:
分组前筛选:筛选的条件针对的是原始表
分组后筛选:筛选的条件针对的是分组后的结果集
            针对的表            位置            使用的关键字
分组前筛选   原始表          group by的前面       where
分组后筛选   分组后的结果集   group by的后面       having
where -> group by -> having
*/
6、查询有奖金的,每个部门的最高奖金率
SELECT MAX(commission_pct) 最高奖金率,department_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY department_id;
7、查询员工姓名中包含字符a,每个部门的最低工资高于3000的部门编号
SELECT department_id,MIN(salary) 最低工资
FROM employees
WHERE last_name LIKE '%a%'  
GROUP BY department_id
HAVING MIN(salary)>3000;
8、查询电话以“110”开头的,工种号包含字符'T'的每个工种的平均工资>5000的工种号和平均工资
SELECT job_id,AVG(salary)
FROM employees
WHERE phone_number LIKE '110%' AND job_id LIKE '%T%'
GROUP BY job_id
HAVING AVG(salary)>5000;
9、查询每个位置的部门个数大于2的部门个数和位置号
SELECT COUNT(*) 个数,location_id
FROM departments
GROUP BY location_id
HAVING COUNT(*)>2;
10、havign子句支持别名

案例:查询每个位置的部门个数大于2的部门个数和位置号

SELECT COUNT(*) 个数,location_id 
FROM departments
GROUP BY location_id
HAVING 个数>2;
11、排序
SELECT department_id,MIN(salary) 最低工资
FROM employees
WHERE last_name LIKE '%a%'  
GROUP BY department_id
HAVING MIN(salary)>3000
ORDER BY 最低工资 DESC;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、where子句可否使用组函数进行过滤? 2、查询公司员工工资的最大值,最小值,平均值,总和 3、查询各job_...
    黑猴子的家阅读 1,066评论 0 1
  • 今天早上,我意识到儿子的一些爱好需要我们引导。关于打篮球的事情,现在他已经三年级了,我不能再拖下去。早些年就计划让...
    梅子Mey阅读 1,125评论 8 4
  • 2000年1月24日 星期三 晴 今天,我正在吃早饭,突然电话响了。我把刚吃了一半的油条放到了碗里 ,跑到客厅里...
    水晶dlrb阅读 268评论 0 0
  • 皎白的月光洒下一片淡黄色的光芒,迎面而来,把拉长了的身影显得更加消瘦,斑驳的宫墙角落几丛杂草被风一吹,在月...
    不墨青山阅读 362评论 4 10
  • 严宝宝,我困了,等不到十二点,提前祝你情人节快乐!15年的冬天有你让我感到很温暖,一路走来有开心也有不愉快,这是两...
    此处有危险请远离阅读 155评论 0 0