3 Stimmen

MS SQL-Skript zur Rückgabe einer Anzahl von Datensätzen, die pro Tag erstellt wurden, wenn die Zeit im Feld DATE enthalten ist?

Ich versuche, ein Skript zu erstellen (unter Verwendung von MS SQL Server 2008 R2), das mir die Gesamtzahl der Zeilen anzeigt, die in der letzten Woche pro Tag zu einer Tabelle hinzugefügt wurden. Dazu habe ich das folgende Skript verwendet:

select date_published, count(customer_id)
from CustomerTable
WHERE date_published >=dateadd(day,datediff(day,0,GetDate())- 7,0)
GROUP BY date_published

Dieses Skript funktioniert, aber das Problem, das ich habe, ist, dass die Spalte date_published in meiner Tabelle auch die Zeit enthalten muss, also muss ich herausfinden, wie das Skript nur den Datumsanteil der Spalte date_published berücksichtigt, wenn es die Summen berechnet. Vielen Dank für jede Hilfe, die Sie anbieten können!

1voto

podiluska Punkte 50039
select Convert(date,date_published), count(customer_id) 
from CustomerTable 
WHERE datediff(d,getdate(),date_published )>-7
GROUP BY Convert(date,date_published)

1voto

Barry Kaye Punkte 7452

Versuchen Sie, Ihre GROUP BY date_published zu:

GROUP BY DATEADD(dd, 0, DATEDIFF(dd, 0, date_published))

0voto

Mikael Eriksson Punkte 132244
select cast(date_published as date) as date_published,
       count(customer_id) as count_customer_id
from CustomerTable
where date_published >= dateadd(day, -7, cast(getdate() as date))
group by cast(date_published as date)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X