2016-12-01 2 views
1

ich eine Tabelle mit mehreren Duplikaten von Namen für verschiedene users.I die Duplikate in der Tabelle mit einer Abfrage wieSortieren ein Ergebnis in Gruppen

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 

Daraus erhalten erhalte ich die Duplikate von Namen aus der Tabelle . Meine Frage ist, wie bekomme ich die Ergebnisse wie in Gruppen sortiert, so

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? –

Antwort

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

Die ORDER BY-Klausel ist in Sichten, Inline-Funktionen, abgeleiteten Tabellen, Unterabfragen und allgemeinen Tabellenausdrücken ungültig, es sei denn, TOP oder FOR XML wird ebenfalls angegeben. – HoneyBadger

0

Try this ...

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

Die ORDER BY-Klausel ist in Sichten, Inline-Funktionen, abgeleiteten Tabellen, Unterabfragen und allgemeinen Tabellenausdrücken ungültig, es sei denn, TOP oder FOR XML wird ebenfalls angegeben. – HoneyBadger

+0

Aktualisiert in meiner Antwort –

+0

Danke, das macht Sinn, aber ich bekomme einen Fehler beim Versuch, dies auszuführen. –

Verwandte Themen