У меня есть таблица, которая выглядит, как этотT-SQL Находит первое вхождение уникальных комбинаций
Log_ID User_ID Line Attribute
1 A 1 ****
1 B 2 ****
1 B 3 ****
2 C 1 ****
2 C 2 ****
2 A 3 ****
2 B 4 ****
Для каждого Log_ID, есть несколько значений в user_id и линии. (Log_ID, Line) всегда будет уникальным, но (Log_ID, User_ID) не будет.
Я пытаюсь вернуть уникальные пары (Log_ID, User_ID), где самым низким значением линии является тай-брейк. Результирующий набор будет выглядеть так:
Log_ID User_ID Line Attribute
1 A 1 ****
1 B 2 ****
2 C 1 ****
2 A 3 ****
2 B 4 ****
Ничего из того, что я пробовал, сработало. Я сохраняю либо уникальные (Log_ID, User_ID, Line) триплиты, либо получаю только строки, где Line = 1.
мне нужны дополнительные атрибуты из таблицы, кроме Log_ID, user_id, и линии, поэтому я не могу просто использовать SELECT DISTINCT
Есть идеи? Решения, которые я нашел, обычно предполагают, что я пытаюсь присоединиться к к таблице и что я хочу присоединиться к наименьшему совпадению. Но это моя основная таблица.
Спасибо!
Вступление в низшее совпадение работало как шарм и намного быстрее, чем row_number(). Спасибо! – Avyncentia
@Avyncentia. , , Интересная точка данных. 'row_number()' часто бывает быстрее, но не всегда. –