Je veux obtenir une colonne pour chaque relevé, je dois maintenant le faire manuellement pour chaque déclaration pour obtenir le résultat, mais comment puis-je le faire à la fois? EDIT :
Merci pour les réponses, ils travaillent. Cependant, la requête fonctionne très lentement. Est-ce en quelque sorte possible d'interroger quelque chose comme le suivant comme résultat? P> avec quelque chose comme ceci: p> Le résultat quelque chose comme ceci: p>
4 Réponses :
Je veux avoir une colonne pour chaque relevé de l'époque p>
Vous semblez rechercher une agrégation conditionnelle: p>
xxx pré> blockQquote>
Vous voulez probablement Agrégation conditionnelle em>
Que puis-je faire pour le rendre plus rapide?
SELECT
case
when [EventDate] BETWEEN 20180820 AND 20180826 then count(ParcelEventID)
else 0
end as 20180820_20180826,
case
when [EventDate] BETWEEN 20180827 AND 20180902 then count(ParcelEventID)
else 0
end as 20180827_20180902,
case
when [EventDate] BETWEEN 20180902 AND 20180909 then count(ParcelEventID)
else 0
end as 20180827_20180902
FROM [Data].[CDB].[ParcelEvent]
WHERE [Depot] LIKE '05[12]%' AND [ParcelEventTypeID] = 09
Merci pour les réponses, elles fonctionnent. Cependant, la requête fonctionne très lentement. Est-ce en quelque sorte possible d'interroger quelque chose comme le suivant comme résultat? avec quelque chose comme ceci: p> puis avec le résultat quelque chose comme Ceci: p>
Vous pouvez caligner le premier jour d'une semaine, par exemple. Voir Stackoverflow.com / Questions / 7168874 / ... Vous pouvez également essayer d'améliorer les performances à l'aide d'une agrégation en deux étapes: prenez d'abord le compte par date dans une CTE et calculez la semaine et la somme de ces chefs de comptes sur le dessus.
Vos dates de fin et de démarrage se chevauchent,
20180827 et 20180902 CODE> et20180902 et 20180909 CODE>, est-ce correct? Voulez-vous une rangée avec ces chiffres comme colonnes ou une semaine de pairs d'une rangée?Merci pour le commentaire, le chevauchement ne compte pas vraiment pour le moment. J'essaie d'obtenir une ligne pour chaque semaine.
Si vous voulez 1 ligne par semaine, le chevauchement est assez important. Sans cela, vous ne groupez simplement que le numéro de la semaine (ou similaire).