У меня есть сотрудник таблицы с двумя столбцами-empid (primary key), name. Предположим, что он имеет три строки.SQL select statement, избегая дублированных строк на основе первичного ключа
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 является первичным ключом, то почему у вас есть дубликаты значений? –
Просто измените 'row_number()' for 'count()', и вы должны получить нужный результат. – GarethD