2016-07-30 9 views
1

Ich habe Daten in der Tabelle im folgenden Format.Reihenfolge Zeilen basierend auf unterschiedlichen Spaltenwert

CustomerID | CustomerName | DisplayOrder | isActive 
1 | Test | 1 | 1 
1 | Test | 2 | 1 
2 | Test2 | 1 | 1 
1 | Test | 3 | 1 
2 | Test2 | 2 | 1 

Die obige Tabelle muss basierend auf der Spalte displayorder je Kunde sortiert werden. Jeder Kunde wird seine eigene Anzeigereihenfolge haben. Hier kann ich OrderBy-Klausel nicht direkt verwenden, da Display-Bestellung pro Kunde wiederholt wird.

Erwarteter Ausgang ist:

CustomerID | CustomerName | DisplayOrder | isActive 
1 | Test | 1 | 1 
1 | Test | 2 | 1 
1 | Test | 3 | 1 
2 | Test2 | 1 | 1 
2 | Test2 | 2 | 1 

Bitte helfen Sie auf order by-Klausel basierend auf Kunden zu sortieren.

+0

'SELECT * aus meiner Tabelle nach customerId, displayOrder' – SMA

Antwort

4

Sie müssen nur von customerId sortieren und dann, um anzuzeigen (wenn der Kunde id gleiche ist) wie:

SELECT * 
FROM mytable 
ORDER BY customerId, displayOrder; 

Fiddle für das gleiche.

3
SELECT * 
FROM t 
ORDER BY CustomerID, 
     DisplayOrder;