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 oRANK()
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 valoresB
.,ele de dados deproducts
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, oRANK()
função tratado o conjunto de resultados inteiro como uma partição única.,a função
RANK()
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″>
- Primeiro, o
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
Deixe uma resposta