df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

每个部门工资前三(含并列)

中等 14-window-rank 窗口:排名 ranktop-ntiesjoin

找出每个部门工资最高的前三档员工。

  • 部门内按 salary 从高到低排名,并列的工资名次相同,下一名不跳号(例如工资 100、90、90、80 的名次是 1、2、2、3)。
  • 保留名次 ≤ 3 的所有员工,并列的全部保留,所以一个部门可能输出超过 3 人。
  • dept_id 为 null 的员工不属于任何部门,不输出;输出部门名而不是部门 id。

输入

  • employees(emp_id, name, dept_id, manager_id, hire_date, salary, title, email)
  • departments(dept_id, dept_name, parent_dept_id)

输出

列为 dept_name, name, salary,行顺序不限。

输入表 (case base,共 2 个 case:base、ties)

employees hr/employees
#emp_idint64namestringdept_idint64manager_idint64hire_datedatesalaryint64titlestringemailstring
1 1 Grace Liu 1 null 2015-10-01 98000 CEO grace.liu@corp.example
2 2 Leo Wang 2 1 2017-09-09 72000 VP Engineering leo.wang@corp.example
3 3 Sara Chen 3 1 2020-06-05 70000 VP Sales sara.chen@corp.example
4 4 Lucas Zhang 4 2 2023-04-20 52000 Engineering Manager lucas.zhang@corp.example
5 5 Mia Zhao 5 2 2016-07-16 52000 Data Manager mia.zhao@corp.example
6 6 Kevin Wu 3 3 2016-10-23 45000 Sales Manager kevin.wu@corp.example
7 7 Lily Xu 6 4 2025-03-17 48000 Infra Lead lily.xu@corp.example
8 8 Tom Huang 4 4 2022-01-03 46000 Senior Engineer tom.huang@corp.example
9 9 Liam Zhou 4 4 2020-10-01 39000 Software Engineer liam.zhou@corp.example
10 10 Nina Yang 4 4 2020-10-02 39000 Software Engineer nina.yang@corp.example
11 11 Oscar Lin 4 8 2022-07-15 26000 Junior Engineer oscar.lin@corp.example
12 12 Linda Ma 5 5 2016-08-25 41000 Data Engineer linda.ma@corp.example
13 13 Eric Sun 5 5 2021-09-09 33000 Data Analyst eric.sun@corp.example
14 14 Ivy He 5 5 2018-05-29 41000 Data Engineer ivy.he@corp.example
15 15 Lei Gao 5 12 2016-06-02 27000 Junior Data Engineer lei.gao@corp.example
16 16 Hao Guo 6 7 2016-12-18 44000 Site Reliability Engineer hao.guo@corp.example
17 17 Fang Luo 6 7 2020-11-11 38000 Infra engineer fang.luo@corp.example
18 18 Jun Liang 6 16 2020-09-08 25000 Junior Engineer jun.liang@corp.example
19 19 Dana Song 3 6 2016-10-13 31000 Account Executive dana.song@corp.example
20 20 Victor Tang 3 6 2018-09-12 31000 Account Executive victor.tang@corp.example
显示前 20 行,共 40 行
departments hr/departments
#dept_idint64dept_namestringparent_dept_idint64
1 1 Headquarters null
2 2 Engineering 1
3 3 Sales 1
4 4 Platform 2
5 5 Data 2
6 6 Infra 4
7 7 Legal 1
8 8 Research 5
共 8 行

期望输出 (case base,行顺序不限)

#dept_nameStringnameStringsalaryInt64
1 Sales Sara Chen 70000
2 Sales Amy Yu 46500
3 Sales Kevin Wu 45000
4 Infra Lily Xu 48000
5 Infra Hao Guo 44000
6 Infra Fang Luo 38000
7 Infra Chen Du 38000
8 Platform Bob Pan 53000
9 Platform Lucas Zhang 52000
10 Platform Tom Huang 46000
11 Platform Logan Bai 46000
12 Headquarters Grace Liu 98000
13 Legal Zoe Cao 61000
14 Engineering Leo Wang 72000
15 Engineering Larry Ren 66000
16 Data Mia Zhao 52000
17 Data Xin Cai 47000
18 Data Linda Ma 41000
19 Data Ivy He 41000
共 19 行