Bonjour,
J'utilise depuis quelque temps les fonctions analytiques et je viens de découvrir la fonction KEEP.
J'ai un peu de mal à voir l'interêt par rapport à ce que j'utilisais avant.
Voici un exemple :
Sans KEEP :
Avec KEEP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT champ1, champ2, quantité, MIN(quantite) OVER(PARTITION BY champ2) q_min, FIRST_VALUE(champ1) OVER(PARTITION BY champ2 ORDER BY quantite) c_min FROM table WHERE conditions
Je trouve les mêmes résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT champ1, champ2, quantité, MIN(quantite) OVER(PARTITION BY champ2) q_min, MIN(champ1) KEEP(DENSE_RANK FIRST ORDER BY quantite) OVER(PARTITION BY champ2) c_min FROM table WHERE conditions
Quel est la meilleur syntaxe si il y en a une et pourquoi ?
Et sinon il y a-t-il une utilisation de KEEP qui m'échappe ?
Merci d'avance.
Partager