首页 > 其他 > 详细

3:分组查询

时间:2020-03-26 17:35:47      阅读:52      评论:0      收藏:0      [点我收藏+]
# 分组查询
/*
分组数据 group by,该语句可以iang表中数据分成若干组
用法如下:
SELECT COLUMN,GROUP BY(COLUMN)
FROM TABLE
[WHERE CONDITION]
[GROUP BY GROUP BY expression]
[ORDER BY column]
*/
#引入,查询每个部门的平均工资。

#1:每个工种的最高工资
SELECT MAX(salary),job_id
FROM employees
GROUP BY job_id;

#2,每个位置上的部门个数
SELECT COUNT(*),location_id
FROM departments
GROUP BY location_id;

# 添加筛选条件
#3,查询邮箱包含a字符的,每个部门的平均工资
SELECT AVG(salary),department_id
FROM employees
WHERE email like %a%
GROUP BY department_id; 

#4,有奖金的每个领导手下员工的最高工资
SELECT MAX(salary),manager_id
FROM employees
WHERE commission_pct is not NULL
GROUP BY manager_id;

#添加复杂的筛选条件
#1:查询哪个部门的员工个数大于二?分组后的查询
#WHERE限制的条件是来自table的,
#而这种限制条件来之分组查找后的,应该用having。
SELECT COUNT(*),department_id
FROM employees
GROUP BY department_id
HAVING COUNT(*)>2;

#2,查询每个工种有奖金的员工且最高工资大于12000的工种编号和最高工资
SELECT MAX(salary),job_id
FROM employees
where commission_pct is not NULL
GROUP BY job_id
HAVING MAX(salary)>12000;

 

3:分组查询

原文:https://www.cnblogs.com/dazhu123/p/12575696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!