2010-02-17 4 views
3

J'ai une table qui ressemble à ceci:Comment obtenir le nombre d'événements chaque jour avec SQL?

Timestamp   Event User 
================ ===== ===== 
1/1/2010 1:00 PM 100  John 
1/1/2010 1:00 PM 103  Mark 
1/2/2010 2:00 PM 100  John 
1/2/2010 2:05 PM 100  Bill 
1/2/2010 2:10 PM 103  Frank 

Je veux écrire une requête qui affiche les événements pour chaque jour et un compte pour ces événements. Quelque chose comme:

Date  Event EventCount 
======== ===== ========== 
1/1/2010 100  1 
1/1/2010 103  1 
1/2/2010 100  2 
1/2/2010 103  1 

La base de données est SQL Server Compact, il ne supporte pas toutes les fonctionnalités de la version complète de SQL Server. La requête que je l'ai écrit à ce jour est

SELECT DATEADD(dd, DATEDIFF(dd, 0, Timestamp), 0) as Date, Event, Count(Event) as EventCount 
FROM Log 
GROUP BY Timestamp, Event 

Cela fonctionne presque, mais EventCount est toujours 1. Comment puis-je obtenir SQL Server pour retourner les comptes corrects? Tous les champs sont obligatoires.

Répondre

4

Changer votre goupe par à

GROUP BY DATEADD(dd, DATEDIFF(dd, 0, Timestamp), 0), Event 
+0

Parfait! Je vous remercie. – upl8

Questions connexes