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 BYcláusula dividiu os produtos em várias partições por categoria. - Então, a cláusula
ORDER BYclassificou 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