考虑下表:
我有数据给出了一个人的身份证和他们的国籍。有些人因为拥有双重国籍而两次出现在桌面上 我想帮忙做两件事:
1)如果某人拥有美国公民身份和其他公民身份,我想删除具有非美国公民身份的行
2)如果有人有两个非美国国籍,我想删除其中一个 - 没有偏好。
有任何建议如何做到这一点?
答案 0 :(得分:2)
这样的事情应该做:
ion-item
另一种选择是使用Postgres' select id, name, citizenship
from (
select id, name, citizenship,
row_number() over (partition by id
order by case
when citizenship = 'US' then 1
else 2
end) as rn
from the_table
) t
where rn = 1
order by id;
运营商
distinct on ()