Wie finde ich die Gesamtzahl der Datensätze an einem bestimmten Tag erstellt mit T-SQL?
Frage
Ich brauche, um die Gesamtzahl der Datensätze herauszufinden, die an einem bestimmten Tag erstellt wurden.
z.
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
Ausgabe:
3 Datensätze wurden am 17.07.2009
erstellt
2 Datensätze wurden am 12.07.2009
erstellt
1 Eintrag wurde am 05.07.2009 erstellt
Bearbeiten
Auf den zweiten Vorschlag von Chris Robert gemacht Testen von einschließlich der Formatierung in der SQL bekomme ich diesen Fehler:
Syntax error converting the varchar value ' Records were created on ' to a column of data type int.
Wer weiß, wie die Lösung zu überarbeiten, damit es funktioniert?
Lösung
Es sollte möglich sein, die Daten, die Sie mit den folgenden SQL sind zu erhalten, nachdem ...
SELECT COUNT(ID), CreatedDate
FROM MyTable
GROUP BY CreatedDate
oder - wenn Sie die Formatierung in der SQL zu tun, auch ...
SELECT CONVERT(varchar, COUNT(ID)) + ' Records were created on ' + CONVERT(varchar, CreatedDate)
FROM MyTable
GROUP BY CreatedDate
Viel Glück!
Andere Tipps
Ist die Spalte tatsächlich ein Zeitstempel? In diesem Fall müssen Sie eine Funktion anzuwenden, um die Zeitkomponente zu entfernen, z.
SELECT COUNT (*), Datum (CreatedDate) FROM MyTable GROUP BY Datum (CreatedDate)
Ich weiß nicht, was die Funktion in T-SQL ist, ist es date () in MySQL und trunc () in Oracle. Sie können sogar einen to_string zu tun haben, und das Ende der Schnur und Gruppe durch das entfernen, wenn Sie diese fehlt.
Hope, das hilft.
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC