我有一個具有兩列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