Ich habe folgenden BedarfSQL Count für jedes Datum
Ich habe eine Logging-Tabelle, die som Leads generiert jeden Tag protokolliert.
Jetzt muss ich einen Bericht über die Anzahl der Leads für jeden Tag in den letzten 10 Tagen ziehen.
Nehmen wir die Tabelle wie folgt aussieht:
tbl_leads
id int,
first_name nvarchar(100),
last_name nvarchar(100),
created_date datetime
Und ich brauche die Anzahl der Leads für jeden Tag zu zählen, 10 Tage insgesamt. SO die Ergebnismenge soll wie folgt aussehen:
counted_leads | count_date
5 | 2009-04-30
7 | 2009-04-29
5 | 2009-04-28
7 | 2009-04-27
... und so weiter
Wer weiß, wie dies die beste Art und Weise zu tun? Meine aktuelle Lösung ist mit einer Foreach in C# iterieren, aber ich würde es sehr gerne auf dem SQL-Server statt in einer sp übergeben.
ich verwendet, um dieses aber das created_date ein Feld mit einer vollständigen Datetime ist so hatte ich dieses kleine Hack anwenden: DATEADD (dd, 0, DATEDIFF (dd, 0 , created_date)) in der Gruppe nach Teil und es hat alles wie ein Charme gearbeitet !! :) –
Ändern Sie auch die Anzahl (created_date) in Count (*). Count mit einer Spalte zählt nur die Nicht-Null-Werte. Als solche kann es langsamer als count (*) sein, wenn die Spalte Nullable ist. – GilaMonster
Auch wenn diese Frage/Antwort ziemlich alt ist: Um das Datum ohne Zeitangabe zu erhalten, können Sie DATE (created_date) anstelle von raw created_date verwenden - so werden die Ergebnisse nach Datum ohne Zeit gruppiert! – baris1892