Если у вас небольшое количество столбцов, вы можете сделать что-то вроде этого:
SELECT Row, Name, ID, State, Date,
CASE
WHEN COUNT(*) OVER(PARTITION BY Name, ID, State, Date) > 1 THEN 'Y'
ELSE 'N'
END AS Dup
FROM MyTable
Это помечает данную строку как дубликат на основе столбцов, указанных в выражении PARTITION BY
. Кроме того, будьте осторожны с именами столбцов (например, Row, Date
), так как они могут быть зарезервированными словами.