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 :
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;
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
  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;
erreur ORA-30483 : fonctions de fenêtrage interdites ici

Merci de votre aide.