Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Rang (Informatik)

Der Rang bezeichnet in der Informatik eine aufsteigende Reihenfolge von Objekten. Verwendung. Bearbeiten. Bei der Datenaggregation für …

Inhalt4 Abschnitte
  1. 1. Begriff und Zweck
  2. 2. Varianten der Rangbildung
  3. 3. Unterschiedliche Ränge für Duplikate
  4. 4. Gleiche Ränge für Duplikate

Begriff und Zweck

Der Rang bezeichnet in der Informatik eine aufsteigende Reihenfolge von Objekten. Bei der Datenaggregation für Data-Warehouse-Anwendungen ordnet eine Rang-Funktion ausgewählten Datensätzen fortlaufende Rangwerte zu.

Varianten der Rangbildung

Bei Rang-Funktionen sind zwei Entscheidungen wichtig:

  • Duplikate, also Datensätze mit gleichen Ordnungswerten, können unterschiedliche oder gleiche Ränge erhalten.
  • Bei einer Partitionierung beginnt die Nummerierung erneut, sobald ein übergeordnetes Ordnungskriterium wechselt.

Unterschiedliche Ränge für Duplikate

Im Beispiel werden Produkte zunächst mit row_number() nach Abteilung und Produktnummer geordnet. Diese Funktion nummeriert jede Zeile einzeln, sodass auch gleiche Produktnummern unterschiedliche Ränge erhalten.

Ohne Partitionierung läuft der Rang über alle Abteilungen hinweg weiter: Die Datensätze der Abteilung 1 erhalten die Ränge 1 bis 7, die der Abteilung 2 anschließend die Ränge 8 bis 10. Mit partition by abteilung beginnt die Nummerierung in jeder Abteilung wieder bei 1. Deshalb haben die Produkte der Abteilung 2 dort die Partitionsränge 1 bis 3.

Gleiche Ränge für Duplikate

Im zweiten Beispiel wird dense_rank() verwendet. Gleiche Kombinationen der Ordnungskriterien erhalten denselben Rang. Die dreimal vorkommende Produktnummer 3 in Abteilung 1 hat daher jeweils den Rang 2; der nächste verschiedene Wert, Produktnummer 4, erhält Rang 3. Die zweimal vorkommende Produktnummer 3 in Abteilung 2 hat jeweils den Gesamtrang 7.

Auch hier bewirkt partition by abteilung, dass die Rangfolge für jede Abteilung neu beginnt. Innerhalb der Abteilung 2 erhält Produktnummer 1 deshalb den Partitionsrang 1 und Produktnummer 3 den Partitionsrang 2. Da dense_rank() gleiche Werte zusammenfasst, entstehen innerhalb der Rangfolge keine Lücken nach Duplikaten.

Lernvideos zu Rang (Informatik)

Weiterlesen