“部门 工资 前三名 ”典型复杂的SQL题
部门 工资 前三名
该Employee表包含所有员工。每个员工都有一个ID,并且还有一个部门ID的列。
+ ---- + ------- + -------- + -------------- +
| Id | Name| salary| DepartmentId |
+ ---- + ------- + -------- + -------------- +
| 1 | 乔| 70000 | 1 |
| 2 | 亨利| 80000 | 2 |
| 3 | 山姆| 60000 | 2 |
| 4 | Max | 90000 | 1 |
| 5 | 珍妮特| 69000 | 1 |
| 6 | 兰迪| 85000 | 1 |
+ ---- + ------- + -------- + -------------- +
该Department表包含公司的所有部门。
+ ---- + ---------- +
| Id | Department|
+ ---- + ---------- +
| 1 | IT |
| 2 | 销售|
+ ---- + ---------- +
编写一个SQL查询来查找每个部门获得前三名薪水的员工。对于上述表,您的SQL查询应返回以下行。
+ ------------ + ---------- + -------- +
| Department| employeeName| Salary|
+ ------------ + ---------- + -------- +
| IT | Max | 90000 |
| IT | 兰迪| 85000 |
| IT | 乔| 70000 |
| 销售| 亨利| 80000 |
| 销售| 山姆| 60000 |
+ ------------ + ---------- + -------- +
求教,高手,这周复杂的SQL题一边怎么做?