SQL — выбрать самую новую запись, если есть дубликат

Я пишу запрос и использовал решение в этой ветке, и оно сработало несколько, но у меня все еще есть небольшие проблемы.

Я хочу выбрать набор записей, которые по большей части уникальны, но некоторые из них встречаются дважды. Я хочу иметь возможность выбирать только запись с самой новой датой. Вот мой запрос на данный момент:

SELECT tb1.id,tb1.type,tb1.date

FROM Table tb1  

WHERE tb1.type = 'A' OR 'B'
AND tb1.date = (SELECT TOP 1 tb2.date
               FROM Table tb2  
               WHERE tb2.date = tb1.date
                ORDER BY tb2.date DESC)

Это работает, поскольку он извлекает последнюю запись тех записей, которые имеют дубликаты, но те записи, которые НЕ имеют дубликатов, вообще не отображаются.

Спасибо за любую помощь и приношу свои извинения, если пропустил что-то очень очевидное. Я новичок в игре SQL.

11
задан Community 23 May 2017 в 12:18
поделиться