Caros colegas,
como posso fazer um select que me retorne somente os três maiores valores de cada tipo de dado?
Exempplo:
Tenho uma tabela de AÇÃO, onde cada registro tem ligação com a tabela de ENTIDADE. Queria pegar somente as 3 maiores ações de cada entidade.
----------------------
TABELA COMPLETA
----------------------
E | A
----------
1 | 1467
1 | 647
1 | 648
1 | 649
1 | 653
1 | 655
1 | 657
1 | 659
2 | 157
2 | 156
2 | 155
2 | 1333
2 | 165
2 | 1329
3 | 3514
3 | 3513
3 | 3512
3 | 3511
3 | 3510
3 | 1023
3 | 1022
Agradeço desde já,
Marcos Bastos
Select com ROWNUM por grupo
-
- Rank: Analista Júnior
- Mensagens: 88
- Registrado em: Sex, 18 Ago 2006 11:13 am
- Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com
MSN / TALK - roberto.fernandes@gmail.com
select RNK.fta_num, RNK.vlr_itm, RNK.DENSE_RANK
FROM(
SELECT a.fta_num, a.vlr_itm,
DENSE_RANK () OVER (PARTITION BY a.fta_num ORDER BY a.vlr_itm DESC) DENSE_RANK
FROM item_nota_fiscal a
) RNK
WHERE RNK.DENSE_RANK < 3
FROM(
SELECT a.fta_num, a.vlr_itm,
DENSE_RANK () OVER (PARTITION BY a.fta_num ORDER BY a.vlr_itm DESC) DENSE_RANK
FROM item_nota_fiscal a
) RNK
WHERE RNK.DENSE_RANK < 3
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes