Rang (Informatik)
aus Wikipedia, der freien Enzyklopädie
Der Rang bezeichnet in der Informatik eine aufsteigende Reihenfolge von Objekten.
[Bearbeiten] Verwendung
Bei der Datenaggregation für Data-Warehouse-Anwendungen kommt die Rang-Funktion oft zum Einsatz. Durch diese Funktion werden Sätze aus einer Selektion mit einer fortlaufenden Nummerierung versehen.
Folgende Varianten der Rang-Funktion werden eingesetzt:
- Duplikate sollen den selben Rang oder unterschiedliche Ränge erhalten
- Partitionierung bedeutet (in diesem Zusammenhang), dass beim Wechsel eines übergeordneten Ordungskriteriums die Nummerierung wieder von neuem beginnt
[Bearbeiten] Beispiel
Die Liste der Produkte soll mit einem Rang ausgegeben werden. Duplikate sollen dabei nicht berücksichtigt werden.
In der Spalte RANG wird der Rang ohne Partitionierung ausgegeben.
In der Spalte PART_RANG wird der Rang mit Partitionierung ausgegeben.
select abteilung , produkt_nr , row_number() over(order by abteilung, produkt_nr) rang , row_number() over(partition by abteilung order by produkt_nr) part_ rang from pr order by abteilung, produkt_nr ; ABTEILUNG PRODUKT_NR RANG PART_RANG ---------- ---------- ---------- ---------- 1 2 1 1 1 3 2 2 1 3 3 3 1 3 4 4 1 4 5 5 1 7 6 6 1 9 7 7 2 1 8 1 2 3 9 2 2 3 10 3
Die Liste der Produkte soll mit einem Rang ausgegeben werden. Dieses Mal sollen Duplikate den selben Rang erhalten.
In der Spalte DRANG wird der Rang ohne Partitionierung ausgegeben.
In der Spalte PART_DRANG wird der Rang mit Partitionierung ausgegeben.
select abteilung , produkt_nr , dense_rank() over(order by abteilung, produkt_nr) drang , dense_rank() over(partition by abteilung order by produkt_nr) part_drang from pr order by abteilung, produkt_nr ; ABTEILUNG PRODUKT_NR DRANG PART_DRANG --------- ---------- ---------- ---------- 1 2 1 1 1 3 2 2 1 3 2 2 1 3 2 2 1 4 3 3 1 7 4 4 1 9 5 5 2 1 6 1 2 3 7 2 2 3 7 2
[Bearbeiten] Weblinks
TU-Ilmenau: Anfragen an Data Warehouses
IBM SQL Reference Manual DB2 V9 für Linux, Unix, Windows Volume 1