我有一个具有两列empid(主键)名称的表员工。假设它有三行以下。SQL select语句避免基于主键的重复行
EmpID Name
---------------
11 Name1
12 Name2
11 Name3
我该如何编写select语句来选择记录,以避免重复empid的两行。我使用的查询,如:
select empid, name
from(select empid, name, row_number() over(partition by empid order by empid desc) rnk
from t)a
where a.rnk=1
但这个查询将给
EmpID Name
---------------
11 Name1
12 Name2
作为结果。但我需要的是
EmpID Name
---------------
12 Name2
那么,如果empid是一个主键,你怎么有重复值呢? –
只需更改'count()'的'row_number()',你就可以得到你需要的结果。 – GarethD