Sommario: in questo tutorial, imparerete come utilizzare Oracle RANK()
funzione per calcolare il rango di righe all’interno di un insieme di righe.
Introduzione alla funzione Oracle RANK ()
La funzioneRANK()
è una funzione analitica che calcola il rango di un valore in un insieme di valori.
La funzione RANK()
restituisce lo stesso rank per le righe con gli stessi valori. Aggiunge il numero di righe legate al rango legato per calcolare il rango successivo., Pertanto, i ranghi potrebbero non essere numeri consecutivi.
La funzioneRANK()
è utile per le query top-N e bottom-N.
Quanto segue illustra la sintassi della funzione RANK()
:
È necessario order_by_clause
. Specie l’ordine delle righe in ogni partizione a cui si applica la funzione RANK()
.
La clausola di partizione query, se disponibile, divide le righe in partizioni a cui si applica la funzione RANK()
., Nel caso in cui la causa della partizione di query venga omessa, l’intero set di risultati viene trattato come una singola partizione.,tabella denominata rank_demo
che si compone di una colonna:
Secondo, inserire alcune righe in un rank_demo
tabella:
Terzo, query rank_demo
tabella:
Quarto, utilizzare il tag RANK()
funzione per calcolare il rango per ogni riga del rank_demo
tabella:
mostra Il seguente output:
Le prime due righe ricevuto lo stesso rango 1., La terza fila ha ottenuto il rango 3 perché la seconda fila ha già ricevuto il rango 1. Le successive tre righe hanno ricevuto lo stesso rango 4 e l’ultima riga ha ottenuto il rango 7.
Oracle RANK() esempi di funzioni
Useremo la tabellaproducts
dal database di esempio per la dimostrazione.,
Oracle RANK() funzione semplice esempio
La seguente dichiarazione calcola il rango di ogni prodotto per il suo prezzo di listino:
Ecco i risultati parziali:
Per ottenere i migliori 10 prodotti più costosi, è possibile utilizzare la seguente dichiarazione:
In questo esempio, l’espressione di tabella comune prodotti restituiti con i loro ranghi e la query esterna selezionato solo i primi 10 prodotti più costosi.,
Ecco l’output:
Utilizzo di Oracle RANK() con funzione di PARTIZIONE di esempio
L’esempio seguente restituisce i primi 3 più costosi prodotti per ogni categoria:
In questo esempio:
- Primo
PARTITION BY
clausola diviso i prodotti in più partizioni per categoria. - Quindi, la clausola
ORDER BY
ha ordinato le righe in ogni partizione in base al prezzo di listino in ordine decrescente., - Infine, la funzione
RANK()
calcolava il rango per ogni riga in ogni partizione. E ‘ ri-inizializzato il rango per ogni partizione.
mostra Il seguente output:
In questo tutorial, avete imparato a calcolare il rango di un valore in un insieme di valori utilizzando Oracle RANK()
funzione.
- Questo tutorial è stato utile?
- Sì
Leave a Reply