Summary: in questo tutorial, imparerai come usare PostgreSQL RANK()
function per assegnare un rank per ogni riga di un set di risultati.
Introduzione alla funzione PostgreSQL RANK ()
La funzioneRANK()
assegna un rank ad ogni riga all’interno di una partizione di un set di risultati.
Per ogni partizione, il rango della prima riga è 1., La funzioneRANK()
aggiunge il numero di righe legate al rango legato per calcolare il rango della riga successiva, quindi i ranghi potrebbero non essere sequenziali. Inoltre, le righe con gli stessi valori otterranno lo stesso rango.
di seguito viene illustrata La sintassi del tag RANK()
funzione:
Code language: CSS (css)
In questa sintassi:
- Primo,
PARTITION BY
clausola distribuisce le righe del set di risultati in partizioni alle quali ilRANK()
funzione viene applicata., - Quindi, la clausola
ORDER BY
specifica l’ordine delle righe in ciascuna partizione a cui viene applicata la funzione.
La funzione RANK()
può essere utile per creare report top-N e bottom-N.,a9f5e0f”>
tabella:
Quarto, utilizzare il RANK()
funzione per assegnare i ranghi per le righe del risultato serie di ranks
tabella:
l’immagine seguente mostra L’output:
Come si può chiaramente vedere dall’output:
- La prima e seconda fila e ricevere stesso valore perché hanno lo stesso valore
A
., - La terza, quarta e quinta riga ricevono il rango 3 perché la funzione
RANK()
salta il rango 2 e tutte hanno gli stessi valoriB
.,dati delproducts
tabella:1) l’Utilizzo di PostgreSQL RANK() funzione per l’intero set di risultati
in Questo esempio viene utilizzato il tag
RANK()
funzione per assegnare una classifica per ogni prodotto per il suo prezzo:In questo esempio, abbiamo omesso il
PARTITION BY
clausola, pertanto, ilRANK()
funzione trattato tutto il set di risultati di una singola partizione.,La funzione
RANK()
ha calcolato un rango per ogni riga all’interno dell’intero set di risultati ordinati per prezzi da alto a basso.,2) Utilizzo di PostgreSQL RANK() con funzione di PARTIZIONE di clausola di esempio
L’esempio seguente utilizza il
RANK()
funzione per assegnare una classifica per ogni prodotto in ogni gruppo di prodotti:In questo esempio:
- Primo
PARTITION BY
clausola distribuisce prodotti in partizioni raggruppati per gruppo merceologico-id (group_id
). - In secondo luogo, la clausola
ORDER BY
ordina i prodotti in ogni partizione in base ai loro prezzi dall’alto al basso.,
La funzione
RANK()
è stata applicata a tutti i prodotti di ciascun gruppo di prodotti e viene reinizializzata quando il gruppo di prodotti è cambiato.In questo tutorial, hai imparato come usare la funzione PostgreSQL
RANK()
per calcolare un rango per ogni riga in una partizione di un set di risultati.- Questo tutorial è stato utile ?
- Sì
- Primo
Lascia un commento