gpt4 book ai didi

sql - 返回基于单个列的唯一行

转载 作者:行者123 更新时间:2023-12-02 22:03:35 25 4
gpt4 key购买 nike

我有一张 table (员工)。

员工

ID   Name   Salary  Department
------------------------------
1 Steve 10000 SQ
2 Buck 15000 AS
3 Dan 10000 SQ
4 Dave 10000 AS
5 Jack 30000 AS
6 Amy 8000 GM

我需要为每个部门退回一名员工。例如,对于上述日期,我需要返回如下数据:

ID   Name   Salary  Department
------------------------------
1 Steve 10000 SQ ( I can either return Steve or Dan for this group SQ)
2 Buck 15000 AS ( I can either return Buck or Dave or Jack for this group AS)
6 Amy 8000 GM

最佳答案

这是 row_number() 的一个很好的用途:

select id, name, salary, department
from (select t.*,
row_number() over (partition by department order by department) as seqnum
from t
) t
where seqnum = 1

如果您想要第一个或最后一个 id,请在 row_number() 分区子句中使用 order by id ascorder by id desc .如果您想要随机行,请使用 order by dbms_random.value

关于sql - 返回基于单个列的唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com