一条mysql语句查询top数据
作者:
| 更新日期:给大家出个游戏,使用一条mysql语句查询出排名前几的数据来。
本文首发于公众号:天空的代码世界,微信号:tiankonguse
我们现在有一批程序员每月工资的数据,存在两个表中。
程序员表 Programmer 表有 程序员的名字,工资,和公司ID。
公司表 Company 中有公司的名字。
我们的目标是求每个公司工资排前三的员工的信息。
条件: 公司按公司表顺序输出,每个公司内按工资排序,工资相同的按程序员的名字排序。
答案大家尝试的次数多了就出来了,
提醒:需要写出通用的mysql语句,即我把前三换成前四,前五你只需要修改一个数字就行了。
答案清明后揭晓。
+----+-------+-------+---------+
| Programmer |
+----+-------+-------+---------+
| Id | Name | Pay | Company |
+----+-------+-------+---------+
| 1 | A | 10000 | 1 |
| 2 | B | 60000 | 2 |
| 3 | C | 80000 | 2 |
| 4 | D | 40000 | 1 |
| 5 | E | 70000 | 1 |
| 6 | F | 80000 | 2 |
| 7 | G | 40000 | 1 |
| 8 | H | 50000 | 1 |
+----+-------+-------+---------+
+----+---------+
| Company |
+----+---------+
| Id | Name |
+----+---------+
| 1 | baidu |
| 2 | alibaba |
+----+---------+
+---------+-----------+-------+------+
| 目标结果 |
+---------+-----------+-------+------+
| Company | Programmer| Pay | Rank |
+---------+-----------+-------+------+
| baidu | E | 70000 | 1 |
| baidu | H | 50000 | 2 |
| baidu | D | 40000 | 3 |
| baidu | G | 40000 | 3 |
| alibaba | C | 80000 | 1 |
| alibaba | F | 80000 | 1 |
| alibaba | B | 60000 | 2 |
+---------+-----------+-------+------+
问题分析见这里简单分析一条mysql语句查询top数据
本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。