2009-07-30 3 views
1

J'ai besoin de connaître le nombre total d'enregistrements créés un jour donné.Comment trouver le nombre total d'enregistrements créés un jour donné en utilisant T-SQL?

par exemple.

ID CreatedDate
1 17/07/2009
2 12/07/2009
3 17/07/2009
4 05/07/2009
5 12/07/2009
6 17/07/2009

sortie:

3 enregistrements ont été cre ATED le 17/07/2009
2 enregistrements ont été créés sur 12/07/2009
1 enregistrement a été créé le 05/07/2009

EDIT

Lors de l'essai de la deuxième suggestion faite par Chris Roberts d'inclure la mise en forme dans le SQL i obtenir cette erreur:

Syntax error converting the varchar value ' Records were created on ' to a column of data type int. 

Est-ce que quelqu'un sait comment retravailler la solution pour que cela fonctionne?

Répondre

6

Vous devriez être en mesure d'obtenir les données que vous recherchez avec l'instruction SQL suivante ...

SELECT COUNT(ID), CreatedDate FROM MyTable GROUP BY CreatedDate

Ou - si vous voulez faire la mise en forme dans le SQL, aussi. ..

SELECT CONVERT(varchar, COUNT(ID)) + ' Records were created on ' + CONVERT(varchar, CreatedDate) FROM MyTable GROUP BY CreatedDate

Bonne chance!

+0

Merci pour cela, fonctionne très bien. – Tesseract

+0

Je reçois une erreur lorsque j'essaie d'effectuer le formatage dans l'instruction SQL, voir ma modification. – Tesseract

+0

Je viens d'ajouter les deux instructions 'CONVERT' dans la deuxième requête - c'est parti! –

-2
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC 
+2

Le GROUP BY ne doit-il pas figurer dans le champ CreatedDate? –

+0

-1 Cela ne passera même pas la vérification de la syntaxe. Chris a eu la bonne réponse –

1

La colonne est-elle réellement un horodatage? Dans ce cas, vous devrez appliquer une fonction pour supprimer le composant de temps, par exemple:

SELECT COUNT (*), la date (CreatedDate) FROM MyTable GROUP BY Date (CreatedDate)

Je ne sais pas ce que la fonction est dans T-SQL, c'est date() dans MySQL et trunc() dans Oracle. Vous devrez peut-être même faire un to_string et supprimer la fin de la chaîne et grouper par là si vous n'en avez pas.

Espérons que cela aide.

Questions connexes