DENSE_RANK sortiert die Elemente einer Dimension basierend auf den Werten eines Ausdrucks. Die Funktion gibt die Folgenummern der Dimensionselemente zurück.
DENSE_RANK weist identischen Werten dieselbe minimale Rangfolge zu. DENSE_RANK kann z.B. 1, 2, 3, 3, 5 für eine Reihen von fünf Dimensionselementen zurückgeben.
NUMBER
DENSE_RANK (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, und beide haben eine Rangfolge von 3.00. Die nächste Rangfolge ist 5.00.
DENSE_RANK () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)
Kunde |
Ebene |
Einheiten |
Dicht gefüllte Rangfolge |
|---|---|---|---|
| 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 |
| Ministry of Intl. Trad Nagano | SHIP_TO | 2,699.94 |
3.00 |
| KOSH Entrpr Bristol | 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, RANK, ROW_NUMBER
Copyright © 2003, 2007, Oracle. All rights reserved. Alle Rechte vorbehalten,