Как я могу группировать по столбцу времени, не принимая во внимание

У меня есть куча заказов на продукт, и я пытаюсь группировать их по дате и суммировать количество для этой даты. Как я могу группировать по месяцу/дню/году, не принимая во внимание временную часть?

3/8/2010 7:42:00 следует сгруппировать с помощью 3/8/2010 4:15:00

Ответ 2

GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0)

Или в SQL Server 2008, вы можете просто перевести на Date, как предлагалось @Oded:

GROUP BY CAST(orderDate AS DATE)

Ответ 3

В pre Sql 2008 Выбирая часть даты:

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

Ответ 4

Вот пример, который я использовал, когда мне нужно было подсчитать количество записей для конкретной даты без временной части:

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)

Ответ 5

Вот пример, который отлично работает в oracle

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