2016-04-20 3 views
1

Ich habe eine Tabelle PERSON mit einer einzigen Spalte GENDER und Werte in 6 Zeilen wie:Holen Sie sich die abwechselnden Reihen in SQL

GENDER 

M 
M 
M 
F 
F 
F 

Die Ausgabe sollte wie

GENDER 

M 
F 
M 
F 
M 
F 

Was sollte die SQL-Abfrage, um eine solche Ausgabe zu bekommen? Ich glaube, ROWNUMBER() muss verwendet werden.

+1

Was ist, wenn die Anzahl der Zeilen für M und F unterschiedlich ist? – Squirrel

+0

Mögliche Duplikate von [Wie alternative Zeilen aus Tabelle in SQL auswählen?] (Http://stackoverflow.com/questions/14040865/how-to-select-alternative-rows-from-table-in-sql) – MusicLovingIndianGirl

+0

Die Frage ist wie es gibt 2 Werte in der Tabelle mit der gleichen Nr. von Reihen für diese 2 Werte, bereits gruppiert. Die Ausgabe sollte dieselbe Nummer haben. der Datensätze, aber die Datensätze sollten von 2 Werten wechseln. –

Antwort

2
SELECT GENDER, R = ROW_NUMBER() OVER (PARTITION BY GENDER ORDER BY GENDER) 
FROM PERSON 
ORDER BY R, GENDER DESC 
+0

Yeah Das hat funktioniert. –

Verwandte Themen