it-swarm.com.de

Wie kann ich eine Spalte nach Datum und Uhrzeit gruppieren, ohne Zeit zu berücksichtigen?

Ich habe eine Reihe von Produktbestellungen und versuche, nach dem Datum zu gruppieren und die Menge für dieses Datum zu summieren. Wie kann ich nach Monat/Tag/Jahr gruppieren, ohne den Zeitanteil zu berücksichtigen?

3/8/2010 7:42:00 sollte gruppiert werden mit 3/8/2010 4:15:00

188
The Muffin Man

Cast/Convert die Werte zu einem Date Typ für Ihre Gruppe von.

GROUP BY CAST(myDateTime AS DATE)
327
Oded
GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0)

Oder in SQL Server 2008 können Sie einfach nach Date umwandeln, wie von @Oded vorgeschlagen:

GROUP BY CAST(orderDate AS DATE)
24
Mitch Wheat

In Pre-SQL 2008 durch Herausnehmen des Datumsteils:

GROUP BY CONVERT(CHAR(8),DateTimeColumn,10)
16
Kamyar

GROUP BY DATE(date_time_column)

5
Aravindh Gopi

Hier ist ein Beispiel, das ich verwendet habe, als ich die Anzahl der Datensätze für ein bestimmtes Datum ohne den Zeitanteil zählen musste:

select count(convert(CHAR(10), dtcreatedate, 103) ),convert(char(10), dtcreatedate, 103)
FROM dbo.tbltobecounted
GROUP BY CONVERT(CHAR(10),dtcreatedate,103)
ORDER BY CONVERT(CHAR(10),dtcreatedate,103)
2
user3169774

Hier ist das Beispiel funktioniert gut in Oracle

select to_char(columnname, 'DD/MON/yyyy'), count(*) from table_name group by to_char(createddate, 'DD/MON/yyyy');
0
Radhakrishnan