J'essaie d'utiliser la fonction over pour compter le nombre d'événements qui commencent entre la date de début et la date de fin de la ligne courante pour toutes les lignes. C'est à dire. un compteur concurrent. Finalement, je chercherai à trouver le maximum d'événements simultanés par jour ou par heure, etc.SQL - OVER Clause comprise entre 2 fois
select FingerPrint
,StartDate
,EndDate
,Num_ConCurrent = count(FingerPrint) over (
partition by StartDate
order by StartDate
range between StartDate PRECEDING and EndDate following
)
from #File
group by FingerPrint
,StartDate
,Enddate
Malheureusement, cela ne semble pas fonctionner. Alors que je sais que je pourrais simplement utiliser une auto-jointure, je pensais qu'il pourrait y avoir une méthode alternative avec la clause over.
Toute aide très appréciée.
NB: Message d'erreur
Msg 102, niveau 15, état 1, ligne 7 syntaxe incorrecte près de 'StartDate'.
Veuillez marquer la version de SQL Server. –