Ich habe eine Tabelle enthält Abteilung, Gruppe, Klasse, SUB_CLASS, wie die höchsten 3 zählt in jedem SUB_CLASSSQL, wie die ersten drei Werte in jeder Kategorie holen
select division ,group,class,sub_class, count(*) as number_cnt,
ROW_NUMBER() over (partition by division ,group,class
order by number_cnt) as RowNum
from mydata
order by division,group,class, number_cnt desc
dann holen will ich holen die RowNum < = 3 Aber es zurückgeben kann Nummer_cnt nicht auflösen, aber ich brauche diese Nummer_cnt in der Reihenfolge von.
mydata nachdem ich zähle die Anzahl der einzelnen SUB_CLASS wie dies
division group class subclass number_cnt
plant fruit tropical fruit banana 10
jackfruit 5
passion fruit 3
coconut 2
sein wird ich die ersten drei Zählungen für jede Division gruppen Klasse-Subklassenkombination
division group class subclass number_cnt
plant fruit tropical fruit banana 10
jackfruit 5
passion fruit 3
herauszuzupicken hoffen Irgendeine Hilfe? Danke.
Was ist die Kategorie hier? – Teja
Beispieldaten und gewünschte Ergebnisse würden wirklich helfen. –
es zurückgibt kann number_cnt Fehler nicht auflösen, aber ich denke, Reihenfolge von number_cnt ist hinter auswählen. – newleaf