ROW_NUMBERsortiert die Elemente einer Dimension basierend auf den Werten eines Ausdrucks. Die Funktion gibt die Folgenummern der Dimensionselemente zurück.
ROW_NUMBER weist jedem Dimensionselement eine eindeutige Rangfolge zu. Bei identischen Werten ist die Rangfolge zufällig. ROW_NUMBER gibt z.B. immer 1, 2, 3, 4, 5 für eine Reihe von fünf Dimensionselementen zurück, selbst wenn alle denselben Wert haben.
NUMBER
ROW_NUMBER (ntile_expression) OVER HIERARCHY
( dimension | hierarchy
ORDER BY expression [ASC | DSC] [NULLS {FIRST | LAST}]...
WITHIN {PARENT | LEVEL | ANCESTOR AT LEVEL level}
)
ntile_expression ist in dieser Funktion nicht implementiert.
Dimension ist die Dimension, für deren Elemente die Rangfolge bestimmt wird.
hierarchy ist eine Hierarchie der Dimension. Sonst wird die Standardhierarchie benutzt.
ORDER BY gibt die Basis für die Rangfolge an. Sie können zusätzliche ORDER BY-Klauseln angeben, die als Tiebreak für die Reihenfolge benutzt werden.
Ausdruck stellt den Wert bereit, der als Basis für die Rangfolge benutzt werden soll.
ASC erstellt die Rangfolge von dem kleinsten bis zum größten Datenwert.
DSC erstellt die Rangfolge vom größten zum kleinsten Datenwert.
NULLS FIRST führt die Elemente mit Nullwerten zuerst auf.
NULLS LAST führt die Elemente mit Nullwerten zuletzt auf.
WITHIN wählt eine Gruppe von zusammengehörigen Dimensionselementen zur Bestimmung der Rangfolge.
PARENT legt die Rangfolge der Elemente auf derselben Ebene mit demselben übergeordneten Element fest.
LEVEL legt die Rangfolge aller Elemente auf derselben Ebene fest.
ANCESTOR AT LEVEL Ebene bestimmt die Rangfolge aller Elemente auf derselben Ebene und mit demselben übergeordneten Element auf einer angegebenen Ebene.
Das folgende Beispiel bestimmt die Rangfolge von Kunden innerhalb jeder Region basierend auf den Werten der Kennzahl UNITS. Ministry of Intl. Trad Nagano and KOSH Entrpr Bristol haben denselben Wert für UNITS, die Rangfolge ist jedoch willkürlich 3.00 und 4.00.
ROW_NUMBER () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)
Kunde |
Ebene |
Einheiten |
Zeilennummer |
|---|---|---|---|
| Asien | REGION | 21,764.91 |
Null |
| Japan | WAREHOUSE | 10,930.17 |
4.00 |
| Australien | WAREHOUSE | 5,371.84 |
3.00 |
| Hongkong | WAREHOUSE | 2,799.93 |
2.00 |
| Singapur | WAREHOUSE | 2,662.96 |
1.00 |
| KOSH Entrpr Wanchai | SHIP_TO | 2,799.93 |
8.00 |
| Computer Services Tokyo | SHIP_TO | 2,761.41 |
7.00 |
| Ministry of Intl. Trad Nagoya | SHIP_TO | 2,754.14 |
6.00 |
| KOSH Entrpr Tokyo | SHIP_TO | 2,714.69 |
5.00 |
| KOSH Entrpr Bristol | SHIP_TO | 2,699.94 |
4.00 |
| Ministry of Intl. Trad Nagano | SHIP_TO | 2,699.94 |
3.00 |
| KOSH Entrpr Brisbane | SHIP_TO | 2,673.73 |
2.00 |
| Computer Warehouse Singapore | SHIP_TO | 2,662.96 |
1.00 |
AVERAGE_RANK, DENSE_RANK, RANK
Copyright © 2003, 2007, Oracle. All rights reserved. Alle Rechte vorbehalten.