我接到一个任务,要从我们的 SQL Server 数据库中获取每个部门和工作的所有员工的最低工资(忽略所赚取的佣金)。
这是一个例子:
emp_id | 员工姓名 | 工作名称 | 经理_id | 雇用日期 | 工资 | 佣金 | dep_id |
---|---|---|---|---|---|---|---|
68319 | 凯灵 | 1991-11-18 | 6000.00 | 1001 | |||
火焰 | 经理 | 68319 | 1991-05-01 | 2750.00 | 3001 | ||
克莱尔 | 经理 | 68319 | 1991-06-09 | 2550.00 | 1001 | ||
乔纳斯 | 经理 | 68319 | 1991-04-02 | 2957.00 | 2001 | ||
猩红色 | 分析师 | 65646 | 1997-04-19 | 3100.00 | 2001 | ||
弗兰克 | 分析师 | 65646 | 1991-12-03 | 3100.00 | 2001 | ||
桑德琳 | 职员 | 69062 | 1990-12-18 | 900.00 | 2001 | ||
阿德琳 | 推销员 | 66928 | 1991-02-20 | 1700.00 | 400.00 | 3001 | |
韦德 | 推销员 | 66928 | 1991-02-22 | 1350.00 | 600.00 | 3001 | |
疯狂 | 推销员 | 66928 | 1991-09-28 | 1350.00 | 1500.00 | 3001 | |
塔克 | 推销员 | 66928 | 1991-09-08 | 1600.00 | 0.00 | 3001 | |
ADNRES | 职员 | 67858 | 1997-05-23 | 1200.00 | 2001 | ||
朱利叶斯 | 职员 | 66928 | 1991-12-03 | 1050.00 | 3001 | ||
标记 | 职员 | 67832 | 1992-01-23 | 1400.00 | 1001 |
员工姓名 | 工作名称 | 经理_id | 雇用日期 | 工资 | 佣金 | dep_id | |
---|---|---|---|---|---|---|---|
凯灵 | 1991-11-18 | 6000.00 | 1001 | 66928 | |||
经理 | 68319 | 1991-05-01 | 2750.00 | 3001 | 67832 | ||
经理 | 68319 | 1991-06-09 | 2550.00 | 1001 | 65646 | ||
经理 | 68319 | 1991-04-02 | 2957.00 | 2001 | 65271 | ||
推销员 | 66928 | 1991-02-22 | 1350.00 | 600.00 | 3001 | 67858 | |
分析师 | 65646 | 1997-04-19 | 3100.00 | 2001 | 63679 | ||
职员 | 69062 | 1990-12-18 | 900.00 | 2001 | 69000 | ||
职员 | 66928 | 1991-12-03 | 1050.00 | 3001 | 69324 | ||
职员 | 67832 | 1992-01-23 | 1400.00 | 1001 |
SELECT
job_name, MIN(salary), dep_id
FROM
employees
GROUP BY
dep_id, job_name;
job_name | salary | dep_id
-----------+---------+--------
PRESIDENT | 6000.00 | 1001
MANAGER | 2750.00 | 3001
MANAGER | 2550.00 | 1001
MANAGER | 2957.00 | 2001
SALESMAN | 1350.00 | 3001
ANALYST | 3100.00 | 2001
CLERK | 900.00 | 2001
CLERK | 1050.00 | 3001
CLERK | 1400.00 | 1001
(9 rows)
谁能帮我如何获取员工姓名?
SELECT e.emp_name, job_name, MIN(salary), dep_id FROM employees AS e GROUP BY dep_id, job_name;
您也可以尝试此查询来获取员工姓名。