Votre problème s'apparente à un problème de recherche d'ilots et de trous (island and gaps). En gros, numéroter tous les éléments sans discontinuer et comparer la liste continue avec la liste discontinue...
A +
Votre problème s'apparente à un problème de recherche d'ilots et de trous (island and gaps). En gros, numéroter tous les éléments sans discontinuer et comparer la liste continue avec la liste discontinue...
A +
Merci JeitEmgie, ça a effectivement l'air de marcher et ça me permet de prendre conscience que j'ai encore beaucoup à apprendre en matière de SQL. Chapeau !
J'ai une préférence pour la solution de aieeeuuuuu qui marche nikel, plus simple et dont je comprends le principe.
La création de la colonne Rupt fait exactement ce que je souhaitais :
- une rupture quand on change de dossier ou de code absence.
- on incrémente le N° de groupe quand il y a rupture
...il n'y a plus qu'à grouper et compter.
Un grand Merci à vous 3 pour votre aide précieuse et au super boulot que vous faites sur ce site !
La solution de aieeeuuuuu est en effet plus simple et si vous faites
elle devrait être stable si 2 interventions ont exactement la même date mais des code_presence différents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 OVER(PARTITION BY num_dossier ORDER BY date_int, code_presence desc)
(code_presences desc pour donner priorité à la présence sur l'absence)
Partager