RANK OVER OU ROW_NUMBER

JPAULISTACWB 05/04/2013 12:04:11
#421553
Bom dia pessoas,
Seguinte, estou com dificuldade em gerar uma list com posição de ranking.
Por exemplo, tenho funcionários que recebem detrminados valores, armazenados em uma tabela, gostaria a partir de uma consulta, que ela retorne a posição em que o funcionário ficou, levando em consideração pelos maiores valores. Dei uma boa pesquisada, achei várias funções como RANK() OVER(), ROW_NUMBER, mas estou utilizando banco de dados access.
Obrigado.
FILMAN 05/04/2013 12:26:39
#421555
Resposta escolhida
SELECT TOP 10 * FROM tabelaFuncionarios ORDER BY colunaValores DESC
JPAULISTACWB 05/04/2013 13:24:54
#421556
Obrigado FILMAN, mas na realidade, o que preciso não é selecionar por exemplo os 10 tops da lista, mas que a consulta me retorne a posição em que o funcionário ficou, comparando seu volume com o volume dos demais funcionários. Digamo que, preciso que a própria consulta me retorne a posição de cada funcionário, 1, 2, 3, 4 e assim por diante
Exemplo:
Ranking Funcionario Volume
1 Fulano 1580
2 Siclano 1455
3 Beltrano 1228

E assim por diante, levando em consideração que tenho na minha tabela que vai sofrer a consulta, apenas nomeFuncionario, Volume.

Obrigado



FILMAN 05/04/2013 14:15:14
#421565
Entendi o que você!!
Porém não tem um uma lógica se você não estipular um parametro veja abaixo uma lógica de como proceder via SQL

SELECT * 
FROM (
SELECT
(ROUND((VOLUME / (SELECT SUM(VOLUME) FROM JONATHAN571)),4) * 100) AS PERCENTUAL, J.*
FROM JONATHAN571 J
)
ORDER BY PERC DESC
JPAULISTACWB 05/04/2013 15:13:31
#421574
Ok, obrigado Filman, vou aprimorar o código e ver o que consigo,


Obrigado!!!
Tópico encerrado , respostas não são mais permitidas