当前位置: 首页 > news >正文

wordpress交易网站wordpress 文章编辑插件

wordpress交易网站,wordpress 文章编辑插件,广告设计公司加盟,自助网站建设系统(五)分组查询1. 介绍2. 语法3. 简单分组函数2. 添加筛选条件3. 添加复杂的筛选条件4. 分组查询特点5. 按表达式或函数分组6. 按多个字段分组7. 分组查询添加排序1. 介绍 引入:查询每个部门的平均工资 -- 以前写法:求的是总平均工…

1. 介绍

引入:查询每个部门的平均工资

-- 以前写法:求的是总平均工资。
SELECT AVG(salary) FROM employees;
-- 正确写法
SELECT AVG(salary), department_id
FROM employees
GROUP BY department_id;

2. 语法

SELECT 分组函数,--列要求出现在 group by 的后面
FROM[WHERE 筛选条件]
[GROUP BY 分组的列表]
[ORDER BY|分组函数];

注意:
查询列表必须特殊,要求是分组函数和 group by 后出现的字段。

一般出现 “每个”、“各个”、“每一个”、“所有” 等词语,都是要进行分组查询,并且这些词的后紧接的就是 ORDER BY 后的内容。

3. 简单分组函数

案例一:查询每个工种的最高工资

SELECT MAX(salary), job_id
FROM employees
GROUP BY job_id;

案例二:查询每个位置上的部门个数

SELECT COUNT(*),location_id
FROM departments
GROUP BY location_id;

2. 添加筛选条件

案例1:普询邮箱中包含a字符的,每个部门的平均工资

SELECT AVG(salary), department_id
FROM employees
WHERE email like '%a%'
GROUP BY department_id;

案例2:查询有奖金的每个领导手下员工的最高工资

SELECT MAX(salary), manager_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY manager_id;

3. 添加复杂的筛选条件

添加分组后的筛选:HAVING

案例1: 查询哪个部门的员工个数>2

SELECT COUNT(*), department_id
FROM employees
GROUP BY department_id
HAVING COUNT(*)>2;

案例2:查询每个工种有奖金的员工的最高工资>12000的工种编号和最高工资

-- 1. 查询每个工种有奖金的员工的最高工资
SELECT MAX(salary),job_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id;
-- 2. 根据1结果继续筛选,最高工资>12000
SELECT MAX(salary),job_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id
HAVING MAX(salary)>12000;

案例3:查询领导编号>102的每个领导手下的最低工资>5000的领导编号

 SELECT MIN(salary), manager_idFROM employeesWHERE manager_id>102GROUP BY manager_idHAVING MIN(salary)>5000;

4. 分组查询特点

分组查询中的筛选条件分为两类:

分类数据源关键字位置
分组前筛选原始表WHEREGROUP BY 子句的前面
分组后筛选分组后的结果集HAVINGGROUP BY 子句的后面
  1. 分组函数做条件肯定是放在 having 子句中
  2. 能用分组前筛选的优先使用分组前筛选(性能好)
  3. GROUP BY 子句支持单个字段分组,多个字段分组(多个字段之间用逗号隔开,没有顺序要求)
  4. 排序查询放在最后

5. 按表达式或函数分组

案例: 按员工姓名的长度分组,查询每一组的员工个数,筛选员工个数>5

-- a. 查询每个长度的员工个数
SELECT COUNT(*), LENGTH(last_name) AS len_name
FROM employees
GROUP BY LENGTH(last_name)
-- b. 添加筛选条件
SELECT COUNT(*) c, LENGTH(last_name) AS len_name
FROM employees
GROUP BY len_name
HAVING c>5;

6. 按多个字段分组

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

SELECT AVG(salary), department_id, job_id
FROM employees
GROUP BY department_id, job_id;

7. 分组查询添加排序

案例: 查询每个部门每个工种的员工的平均工资,并且按平均工资的高低排列
排序查询放在最后

SELECT AVG(salary) a, department_id, job_id
FROM employees
WHERE department_id IS NOT NULL
GROUP BY department_id, job_id
HAVING a>10000
ORDER BY a DESC;
http://www.yayakq.cn/news/58027/

相关文章:

  • 未备案 网站加速灵宝seo公司
  • 永州做网站tuantaogou手游传奇网站发布
  • 徐州公司建站模板福建省住房城乡和城乡建设厅网站
  • 网站建设书籍2013年的厦门建站系统建设
  • 品牌网站建设优化公司排名做推广最好的网站是哪个
  • 聂教练做0网站三个字吉利好听的公司名称
  • wordpress商城建站对外贸易网站有哪些
  • 东莞网站seo价格daozicms企业建站系统
  • 做做网站下载2023网站为何突然不收录了
  • 网站运营需要哪些技术wordpress 吧
  • 站长平台seologo查询网站
  • 网站建设公司工作流程建站快车代理平台系统
  • 杭州 高端网站建设 推荐网站搭建环境
  • 南宁百度网站公司吗王也天年龄
  • 公司为什么建立网站做海外市场什么网站推广
  • 惠州网站建设方案外包郑州网页制作设计
  • 旅游网站建设的利益温州做网站老师
  • 网站公司动态做不了怎么办清华大学自动化系
  • 沧州做网站优化开发一个公司官网大概多少钱
  • 球球是哪个公司开发的seo北京公司
  • wordpress 获取所有子页面扬州seo
  • 推广网站的方法有搜索支付网站建设费怎么做账
  • 亳州网站开发公司后台管理网站开发
  • 无锡网站设计厂家门户网站建设的书籍
  • 网站建设的用途是什么意思网站城市分站织梦系统
  • 青海wap网站建设比较好专业做网站厂家
  • 企业网站建设工作室网页怎么做出来的
  • 专门做ppt背景的网站有哪些电子商务是坑人专业吗
  • 石家庄建设银行网站wordpress多站点问题
  • 做网站需要买服务器门户网站建设哪专业