我試圖從部門列中獲得最高工資,但我也想了解該部門的人。
我能在這里做什么?
create table if not exists employee(
id serial unique,
firstName varchar (15),
lastName varchar(15),
department varchar (20),
salary int
);
select department, max(salary) from employee
group by department
uj5u.com熱心網友回復:
PostgreSQL 有一個漂亮的distinct on語法,你可以使用:
SELECT DISTINCT ON (department) *
FROM employee
ORDER BY department ASC, salary DESC
SQLFiddle 演示
uj5u.com熱心網友回復:
計算按降序排序的排名。
前 1 名將獲得 1 級。
select department, salary, firstName, lastName
from
(
select department, salary, firstName, lastName
, dense_rank() over (partition by department order by salary desc) as Rnk
from employee
) q
where Rnk = 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380936.html
標籤:sql PostgreSQL的 通过...分组 总计的 postgresql-9.4
