MySql数据库基础之分组查询详解

吾爱主题 阅读:163 2022-11-14 16:08:00 评论:0

1. group by

找出每个工作岗位的工资和?

思路:先按照工作岗位分组,然后对工资进行求和。

mysql> select job, sum(sal) from emp group by job;

找出每个部门的最高薪资?思路:按照部门编号分组,然后求每一组的最大值

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

找出每个部门,不同工作岗位的最高薪资?思路:将两个字段联合成一个字段看(两个字段分组)

mysql> select deptno, job, max(sal) from emp group by deptno, job;

2. having

可以对分完组之后的数据进一步过滤

having 必须要和 group by 联合使用

找出每个部门最高薪资,要求显示最高薪资大于 3000 的? 第一步:找出每个部门最高薪资,按照部门编号分组,求每一组的最大值 第二步:要求显示最高薪资大于 3000 的

mysql> select deptno, max(sal) from emp group by deptno having max(sal) > 3000;

优化

where 和 having,优先选择 where,不能使用 where 再使用 having

mysql> select deptno, max(sal) from emp where sal > 3000 group by deptno;

到此这篇关于MySql数据库基础之分组查询详解的文章就介绍到这了,更多相关MySql分组查询内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_52354698/article/details/126631670

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容