Bonjour
Je suis novice en SQL et j'aimerai savoir s'il est possible de récupérer le max d'un row_number.
Je m'explique, j'ai une table sur laquelle j'ai effectué un row_number et j'aimerai récupérer la ligne avec le max du row_number.
Est-il possible de le faire en une seule requête ??
Mes deux prototypes de requête :
Pour ce prototype je me retrouve avec toutes les lignes alors que le but c'est la ligne avec le max du row_number.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 with filtre1 as ( select row_number() OVER (PARTITION BY issuer_id ORDER BY issuer_id DESC) AS rk, t.* from mgu_sp_ei t order by issuer_id asc ) , filtre2 as ( select max(rk) as rank, action, issuer_id, published_name, legal_name, short_name, sector, sub_sector, country, state, region, sic, gic, naics, naic, tsec, cusip, cins, ticker, reserved from filtre1 group by issuer_id, action, published_name, legal_name, short_name, sector, sub_sector, country, state, region, sic, gic, naics, naic, tsec, cusip, cins, ticker, reserved ) select * from filtre2;
erreur ORA-30483 : fonctions de fenêtrage interdites ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select max(row_number() OVER (PARTITION BY issuer_id ORDER BY issuer_id DESC)) AS rk, t.* from mgu_sp_ei t order by issuer_id asc;
Merci de votre aide.
Partager