zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Mysql——分组统计

2023-02-18 16:37:43 时间

 ??前言 ?作者简介:友友们大家好,我是你们的小王同学?? ?个人主页:小王同学? ? 系列专栏:牛客刷题专栏? ? 推荐一款非常火的面试、刷题神器?牛客刷题 今天给大家带来的系列是:Mysql——分组统计 mysql 刷题 系列 牛客网

牛客网里面有非常多得面试真题 包含 java sql c++等多种语言实现 

select语句?

  • 使用group   by子句对列进行分组【先创建测试表】

select column1 column2 column3 .....from  table  group by colum

  •  使用having子句对分组后的结果进行过滤

select colum1 ,column2,column3 ... from table group  by colum having  ...

 我们在写sql语句前 先创建表!

创建部门表

 接着小王同学再创建一个员工表 并且插入一些数据!

 最后小王同学再创建一个工资级别表 并插入数据

接着就到了 分组 的sql 语句

-- 显示 每个部门的平均工资和最低工资

select   avg(sal),max(sal),deptno
 from emp group by deptno;

-- 按照每个部门的每钟岗位的平均工资 

 select avg(sal),min(sal),deptno,job
from emp group by deptno,job;

 -- 显示平均工资低于2000的部门号和它的平均工资

select avg(sal),deptno
from emp group by deptno
having avg (sal) <2000;

我们也可以使用别名进行过滤!

select avg(sal)AS avg_sal,deptno
from emp group by deptno
having avg_sal <2000;

别名的效率相比于更高一些

以上就是小王同学带给大家带来的Mysql ——select