Je suis coincé en train de développer une requête.Nombre total d'événements à chaque date
J'ai une table, structuré comme celui-ci:
[EventId] [Description] [EventName] [ValidFrom] [ValidTo] [Approved]
1 Sample1 1stEvent 2013-01-27 2013-05-10 1
2 Sample2 2stEvent 2013-04-07 2013-06-15 1
3 Sample3 3stEvent 2013-04-07 2013-06-15 1
4 Sample4 4stEvent 2013-03-02 2013-05-29 1
5 Sample5 5stEvent 2013-05-17 2013-07-10 1
6 Sample6 6stEvent 2013-03-20 2013-05-11 1
Ce que je veux est le nombre total d'événements pour chaque jour dans une plage de dates, y compris.
Select distinct
Convert(varchar,ValidFrom,101)as [Date],
case
when count(EventID)>1 then Convert(nvarchar, count(EventID)) +' Events'
else Convert(nvarchar, count(EventID)) + ' Event'
end as CountOf,
Row_Number()
over (Order By Convert(varchar,ValidFrom,101)) as RowNumber
from [Table]
where Approved=1
group by Convert(varchar,ValidFrom,101)
C'est la requête que je suis venu avec jusqu'à présent, mais cela montre le nombre total d'événements à une date donnée sans compter les événements qui ont été reconduits selon les dates entre valides de et valide pour les dates.
Pouvez-vous fournir les résultats souhaités? Je ne suis pas sûr de comprendre ce que vous essayez d'accomplir. – sgeddes
Donc vous voulez la somme basée sur l'EventId? –
Je suis d'accord avec @sgeddes. Vous devez fournir quelques exemples de lignes de sortie que vous vous attendez à voir dans votre jeu de résultats. – STLDeveloper