Date de publication : Jun 20, 2012 3:0:59 PM
Exemple d'utilisation de fonctions avancées pour Oracle
- CTE (common table expression), avec le mot clé with
- fonctions analytiques ou de fenêtrage (over)
- sous-requête dans le from
-- exemple de pagination de la 2ème page de liste des départements commmunes, classés
with pagination as (
select row_number() over (order by cdep, ccom) as mynum, cdep, ccom, ldesign -- on identifie toutes les communes, pour 1 cdep, fonctionas analytiques ou fenêtrage
from (
select cdep, ccom, deffet, ldesign
from comsituation cs
where deffet = (select max(deffet) from comsituation cs2 where cs2.cdep = cs.cdep and cs2.ccom =cs.ccom)
)
order by cdep, ccom)
select *
from pagination
where mynum between 10 and 20
=> on renvoie tous les cdep ccom pour la page 2 (on imagine que chaque page a 10 résultats), en ne prenant en compte que les dernières situations des communes