2014-12-08 4 views
0

У меня есть таблица из 20 столбцов, которые имеют повторяющееся значение, но не во всех столбцах. что нормальное отдельное предложение не работает над ним .. , поэтому я хочу применять различные три столбца (имя, имя, доб), но как? , Пожалуйста, дайте мне какое-либо решение.Отличие от трех столбцов в sql-сервере 2008

ответ

3

Вы можете использовать ROW_NUMBER с общим СТОЛ-выражения (CTE):

WITH CTE AS 
(
    SELECT t.*, RN = ROW_NUMBER() OVER (PARTITION BY name,fname,dob ORDER BY name,fname,dob) 
    FROM dbo.TableName t 
) 
SELECT * FROM CTE WHERE RN = 1 

Это занимает один в группе. Измените ORDER BY name,fname,dob согласно вашей логике.

+0

Вы также можете использовать 'GROUP BY' с' HAVING'. – Rahul

+1

@Rahul: но OP хочет все столбцы. –

Смежные вопросы