MySql数据库基础之分组查询详解
短信预约 -IT技能 免费直播动态提醒
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分组查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341