2016-12-01 2 views
1

У меня есть таблица с несколькими дублями по имени для различных users.I получить дубликаты в таблице, используя запрос, какСортировать результат в группах

SELECT t1.* 
FROM [Database].[dbo].[table] t1 
INNER JOIN 
    (SELECT [Name] 
    FROM [Database].[dbo].[table] 
    GROUP BY [Name] 
    HAVING COUNT(*) >1) t2 ON t1.Name = t2.Name 

От этого я получаю дубликаты по имени из таблицы , Мой вопрос заключается в следующем, как я могу получить результаты отсортированы по группам, как так

Name    Customer 

John    Daydream 
John    Daydream 
Peter   Daydream 
Peter   Daydream 
Peter   Daydream 
Amber   Fly_co 
Amber   Fly_co 
Jackie   Fly_co 
Jackie   Fly_co 
+2

... ORDER BY t1.Customer, t1.Name? –

ответ

0
 SELECT t1.* 
     FROM [Database].[dbo].[table] t1 
     INNER JOIN 
      (SELECT [Name] 
        FROM [Database].[dbo].[table] 
        GROUP BY [Name] 
        HAVING COUNT(*) >1) t2 ON t1.Name = t2.Name 
ORDER BY t1.Customer, t1.Name 
+0

Предложение ORDER BY недопустимо в представлениях, встроенных функциях, производных таблицах, подзапросах и общих табличных выражениях, если не указано значение TOP или FOR XML. – HoneyBadger

0

Попробуйте это ...

SELECT t1.* 
    FROM [Database].[dbo].[table] t1 
    INNER JOIN 
     (SELECT [Name] 
     FROM [Database].[dbo].[table] 
     GROUP BY t1. [Name] 
     HAVING COUNT(*) >1) t2 ON t1.Name = t2.Name 
    ORDER BY t1.Customer, t1.Name 
+1

Предложение ORDER BY недействительно в представлениях, встроенных функциях, производных таблицах, подзапросах и общих табличных выражениях, если не указано значение TOP или FOR XML. – HoneyBadger

+0

Обновлено в моем ответе –

+0

Спасибо, это имеет смысл, но я получаю сообщение об ошибке при попытке выполнить это. –

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