MySQL分组查询

news/2024/11/8 18:23:36 标签: mysql, 数据库

问题:查询员工表中,每个不同部门分别的平均工资

分组查询:group by关键字实现分组,group by放在where条件语句之后,order by放置中group by的后面,一会儿还会学到的having关键字,总体的循序先后为:

where条件 , group by 分组语句 , having 分组的条件 , order by排序语句
where条件是针对所有记录的,having条件只是局限的针对每一组的记录的

分组查询语法:

select
列(这个列要求必须只能是group by的后面字段),分组函数()
from
表名
where
筛选条件(针对表的所有记录)
group by
分组字段列表
having(只能配合group by使用)
与分组有关的筛选条件(针对分组后的每组内记录)
order by
排序

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

select max(salary) , job_id from employees group by job_id;

案例:查询每个地方的部门个数

select count(*),location_id from departments group by location_id;

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

select count(*) 个数, avg(salary),department_id,job_id
from employees
group by department_id,job_id;

(部门号和工种号都相同的员工分一组)

案例:查询员工邮箱里包含"a"字母的,每个部门的平均工资

select avg(salary) 部门平均工资,department _id
from employees
where email like '%a%'
group by department_id

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

select max(salary) 最高工资,manager_id
from employees
where commission_pct is not null
group by manager_id;

案例:查询部门的员工个数>5的所有部门的员工数

1)查询每个部门的员工个数
select count(*) c,department_id
from employees;
group by department_id;
2)在第一步的结果中找那个部门的员工个数>2
select count(*) c,department_id
from employees;
group by department_id
having c>5;

案例:查询的没有奖金的每个领导手下员工的最高工资,且工资大于12000

1)首先查询每个领导手下没有奖金的
select max(salary) 最高工资,manager_id
from employees
where commission_pct is null
group by manager_id;
2)在1点结果中在选工资大于12000
select max(salary) maxsalary,manager_id
from employees
where commission_pct is null
group by manager_id
having maxsalary>12000;
还可以在分组后的结果进行排序:
select max(salary) maxsalary,manager_id
from employees
where commission_pct is null
group by manager_id
having maxsalary>12000
order by maxsalary desc;

http://www.niftyadmin.cn/n/5744277.html

相关文章

关于Redis

Redis 基础 什么是 Redis? Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库&#xf…

004-Kotlin界面开发快速入水之TicTacToe

程序界面和效果 快速入水 要学习一样跟程序设计有关的东西,最好的办法始终是把手打湿,整一个能够运行,可以实验的东西出来。 也只有在程序开发中,我们才能想一个魔法师而不是魔术师,我们真的能够创造一个东西。而且编…

工作流初始错误 泛微提交流程提示_泛微协同办公平台E-cology8.0版本后台维护手册(11)–系统参数设置

工作流初始错误 泛微提交流程提示_泛微协同办公平台E-cology8.0版本后台维护手册(11)–系统参数设置...-CSDN博客 工作流初始错误 泛微提交流程提示_泛微OA 工作流WebService接口使用说明 工作流初始错误 泛微提交流程提示_泛微OA 工作流WebService接口使用说明-CSDN博客 工作…

EL表达式和JSTL表达式(详解)

1.EL表达式&#xff1a; 导包&#xff1a; isELIgnored"false"就可以用了&#xff0c;这个包是用的tomcat内置的,如果不行的话&#xff0c;就需要导包 <% page contentType"text/html;charsetUTF-8" isELIgnored"false" language"jav…

Java Iterator 实现杨辉三角

一、问题描述 杨辉三角定义如下&#xff1a; 1/ \1 1/ \ / \1 2 1/ \ / \ / \1 3 3 1/ \ / \ / \ / \1 4 6 4 1/ \ / \ / \ / \ / \ 1 5 10 10 5 1 把每一行看做一个list&#xff0c;试写一个 Iterator&#xff0c;不断输出下一行的 list&#xf…

中安OCR电子行驶证、驾驶证识别,助力便捷出行与智慧交通

随着数字化技术在各行各业的深入应用&#xff0c;交通管理领域也迈入了新的时代。OCR电子行驶证和电子驾驶证的推出&#xff0c;不仅提升了车辆及驾驶证件管理的效率&#xff0c;更大大方便了车主出行。电子证件的普及&#xff0c;使得交通管理从“实体化”逐渐走向“数字化”&…

【LeetCode】【算法】437. 路径总和

LeetCode 437. 路径总和 题目描述 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&a…

微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka

在 Windows 上安装 MySQL 下载 MySQL 安装包&#xff1a; 访问 MySQL 官方网站。选择适合 Windows 的安装程序&#xff0c;下载并保存。 运行安装程序&#xff1a; 双击下载的安装文件&#xff0c;开始安装。在安装向导中选择“开发者默认”或“完整安装”。 配置 MySQL&#x…