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 il RANK() 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 funzioneRANK()salta il rango 2 e tutte hanno gli stessi valoriB.,dati del products 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, il RANK() funzione trattato tutto il set di risultati di una singola partizione.,

    La funzioneRANK() 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 clausolaORDER BY ordina i prodotti in ogni partizione in base ai loro prezzi dall’alto al basso.,

    La funzioneRANK() è 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 ?