gpt4 book ai didi

sql - 在 SQL 中,当它可能有两个不同的观察结果时,如何选择唯一的用户 ID?

转载 作者:行者123 更新时间:2023-12-04 08:48:49 24 4
gpt4 key购买 nike

我有一个包含人名和国籍的表格。一个人可能有双重国籍,但如果他们有美国国籍,我只想要那个人的那一行。
前任:\

Name   Citizenship\
John US\
John England\
Jim Germany\
Mark US\
Mark Belgium
预期产出
Name    Country\
John US\
Jim Germany\
Mark US
提前感谢您的帮助。

最佳答案

NOT EXISTS :

select t.* from tablename t
where t.citizenship = 'US'
or not exists (select 1 from tablename where name = t.name and citizenship = 'US')
或与 FIRST_VALUE()窗口函数:
select distinct name,
first_value(citizenship)
over (partition by name order by case when citizenship = 'US' then 1 else 2 end) citizenship
from tablename
demo .
结果:
> Name | Citizenship
> :--- | :----------
> John | US
> Jim | Germany
> Mark | US

关于sql - 在 SQL 中,当它可能有两个不同的观察结果时,如何选择唯一的用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64177402/

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