Resumo: neste tutorial, você vai aprender como usar PostgreSQL RANK() função para atribuir um rank para cada linha de um conjunto de resultados.

Introduction to PostgreSQL RANK () function

The RANK() function assigns a rank to every row within a partition of a result set.

para cada partição, o rank da primeira linha é 1., The RANK() function adds the number of tied rows to the tied rank to calculate the rank of the next row, so the ranks may not be sequential. Além disso, as linhas com os mesmos valores obterão o mesmo rank.

A seguir ilustra a sintaxe da tag RANK() função:

Code language: CSS (css)

nesta sintaxe:

  • Primeiro, PARTITION BY cláusula distribui as linhas do conjunto de resultados em partições para que o RANK() função é aplicada.,
  • Então, a cláusula ORDER BY especifica a ordem de linhas em cada uma partição à qual a função é aplicada.

a função RANK() pode ser útil para criar relatórios top-N e bottom-n.,a9f5e0f”>

tabela:

por último, a use o RANK() função atribuir classificações para as linhas no conjunto de resultados de ranks tabela:

a imagem A seguir mostra a saída:

Como você pode ver claramente a partir da saída:

  • a primeira e A segunda linhas receber o mesmo valor, porque eles têm o mesmo valor A.,
  • a terceira, quarta e quinta linhas recebem o rank 3 porque a função RANK() salta o rank 2 e todos eles têm os mesmos valores B.,ele de dados de products tabela:

    1) Usando PostgreSQL RANK() função para todo o conjunto de resultados

    Este exemplo usa o RANK() função para atribuir uma classificação para cada produto pelo seu preço:

    neste exemplo, nós omitido o PARTITION BY cláusula, portanto, o RANK() função tratado o conjunto de resultados inteiro como uma partição única.,

    a funçãoRANK() calculou uma classificação para cada linha dentro do conjunto de resultados ordenados por preços de alto a baixo.,

    2) Usando PostgreSQL RANK() função com PARTIÇÃO POR cláusula de exemplo

    O exemplo a seguir usa o RANK() função para atribuir uma classificação para cada produto em cada grupo de produtos:

    neste exemplo:

    • Primeiro, o PARTITION BY cláusula distribui produtos em partições agrupados por grupo de produto (idgroup_id).em segundo lugar, a cláusula”f02348d4a0″>

classifica os produtos em cada partição pelos seus preços de alto para baixo.,

a função

foi aplicada a todos os produtos em cada grupo de produtos e é reinicializada quando o grupo de produtos mudou.

neste tutorial, você aprendeu a usar a função PostgreSQL RANK() para calcular uma classificação para cada linha de uma partição de um conjunto de resultados.

  • este tutorial foi útil ?
  • YesNo