2017-02-22 56 views
0

У меня есть результаты в верхней таблице. Мне хотелось бы получить результаты в нижней таблице.SQL: найти дубликаты и для каждой повторяющейся группы назначить значение первого дубликата этой группы

enter image description here

Использование запроса SQL на приведенной выше таблице, я хотел бы найти группы дубликатов (где значения во всех колонках, кроме Id и категории являются идентичными) и от этого создают результат, имеющий для каждого введите самый низкий идентификатор из своей группы дубликатов и (немодифицированную) категорию из исходной таблицы.

ответ

1

Функция окна min может быть использован здесь:

select min(id) over (partition by first_name, last_name, company) id, 
    category 
from t; 
+0

Спасибо вам большое, что работает и является более простым выражением, чем я ожидал. – ghjk