Resumo: neste tutorial, você vai aprender como usar o Oracle RANK()
função para calcular a classificação de linhas dentro de um conjunto de linhas.
Introduction to Oracle RANK () function
The RANK()
function is an analytic function that calculates the rank of a value in a set of values.
a função RANK()
devolve o mesmo valor para as linhas com os mesmos valores. Ele adiciona o número de linhas amarradas ao rank amarrado para calcular o próximo rank., Portanto, as fileiras não podem ser números consecutivos.
a função RANK()
é útil para consultas top-N e bottom-N.
A seguir ilustra a sintaxe da tag RANK()
função:
order_by_clause
é necessário. Ele espécie a ordem de linhas em cada partição à qual se aplica a função RANK()
.
a cláusula de partição da consulta, se disponível, divide as linhas em partições às quais se aplica a função RANK()
., Caso a causa da partição da consulta seja omitida, todo o conjunto de resultados é tratado como uma única partição.,tabela denominada rank_demo
que consiste de uma coluna:
em Segundo lugar, inserir algumas linhas em rank_demo
tabela:
o Terceiro, consulta a partir de rank_demo
tabela:
por último, use o RANK()
função para calcular a classificação para cada linha de rank_demo
tabela:
A seguir mostra a saída:
As duas primeiras linhas que recebeu a mesma classificação de 1., A terceira linha obteve o rank 3 porque a segunda linha já recebeu o rank 1. As três linhas seguintes receberam o mesmo rank 4 e a última linha obteve o rank 7.
Oracle RANK() function examples
we’ll use the products
table from the sample database for demonstration.,
Oracle RANK() função simples exemplo
a instrução A seguir calcula a posição de cada produto pelo seu preço de lista:
Aqui está o resultado parcial:
Para obter o top 10 dos produtos mais caros, você pode usar a instrução a seguir:
neste exemplo, a expressão de tabela comum os produtos devolvidos com suas fileiras e a consulta externa selecionados apenas os 10 primeiros produtos mais caros.,
Aqui está o resultado:
Usando o Oracle RANK() função com PARTIÇÃO POR exemplo
O exemplo a seguir retorna o top-3 produtos mais caros para cada categoria:
neste exemplo:
- Primeiro, o
PARTITION BY
cláusula dividiu os produtos em várias partições por categoria. - Então, a cláusula
ORDER BY
classificou as linhas em cada partição por preço de lista por ordem decrescente., - finalmente, a função
RANK()
calculou a classificação para cada linha em cada partição. Ele reinicializou o rank para cada partição.
A seguir mostra a saída:
neste tutorial, você aprendeu a calcular a posição de um valor em um conjunto de valores utilizando o Oracle RANK()
função.
- este tutorial foi útil?
- YesNo
Leave a Reply