2009-07-30 3 views
1

Ich muss herausfinden, die Gesamtzahl der Datensätze, die an einem bestimmten Tag erstellt wurden.Wie finde ich die Gesamtzahl der Datensätze an einem bestimmten Tag mit T-SQL?

z.B.

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

Ausgang:

3 Aufzeichnungen waren cre ated am 17.07.2009
2 Datensätze wurden am 12.07.2009
1 erstellt Rekord am 05.07.2009 erstellt wurde von Chris

EDIT

Nach machte den zweiten Vorschlag testen Robert 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?

Antwort

6

Sie sollten die Daten, die Sie nach dem folgenden SQL ...

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

Oder bekommen können - wenn Sie tun, um die Formatierung in der SQL auch. ..

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

Viel Glück!

+0

Danke dafür, funktioniert super. – Tesseract

+0

Ich erhalte einen Fehler beim Versuch, die Formatierung innerhalb der SQL-Anweisung durchzuführen, siehe meine Bearbeitung. – Tesseract

+0

Ich habe gerade die zwei 'CONVERT' Anweisungen in die zweite Abfrage hinzugefügt - geben Sie das! –

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

Sollte sich GROUP BY nicht im CreatedDate-Feld befinden? –

+0

-1 Das wird die Syntaxprüfung nicht einmal durchstehen. Chris hat die richtige Antwort –

1

Ist die Spalte tatsächlich ein Zeitstempel? In diesem Fall müssen Sie eine Funktion anzuwenden, um die Zeitkomponente zu entfernen, zum Beispiel:

SELECT COUNT (*), Datum (CreatedDate) FROM MyTable GROUP BY Datum (CreatedDate)

Ich weiß nicht, was Die Funktion ist in T-SQL, es ist date() in MySQL und trunc() in Oracle. Sie müssen möglicherweise sogar eine to_string machen und das Ende der Zeichenkette und der Gruppe entfernen, wenn Sie dies nicht haben.

Hoffe, das hilft.