如何在不考虑时间的情况下按日期时间列进行分组

The*_*Man 194 sql t-sql sql-server sql-server-2008

我有一堆产品订单,我正在尝试按日期分组并总结该日期的数量.如何在不考虑时间的情况下按月/日/年进行分组?

3/8/2010 7:42:00 应该与...分组 3/8/2010 4:15:00

Ode*_*ded 338

转换/转换Date为您的组的类型.

GROUP BY CAST(myDateTime AS DATE)
Run Code Online (Sandbox Code Playgroud)

  • 你知道怎么用LINQ to SQL做同样的事情吗? (3认同)
  • - Linq to Sql:`DateTime.Date` - 实体框架:`EntityFunctions.TruncateTime(myDateTime)` (3认同)
  • 非常感谢...它解决了我的问题.添加'按CAST分组(date_modified AS DATE)'.不要忘记在select cluase中添加相同的内容(CAST(date_modified AS DATE)). (3认同)

Mit*_*eat 24

GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0)
Run Code Online (Sandbox Code Playgroud)

或者在SQL Server 2008之后,您可以简单地转换 Date 为@Oded建议:

GROUP BY CAST(orderDate AS DATE)
Run Code Online (Sandbox Code Playgroud)


小智 17

CAST 日期时间字段至今

select  CAST(datetime_field as DATE), count(*) as count from table group by CAST(datetime_field as DATE);
Run Code Online (Sandbox Code Playgroud)


Kam*_*yar 16

在pre Sql 2008中取出日期部分:

GROUP BY CONVERT(CHAR(8),DateTimeColumn,10)
Run Code Online (Sandbox Code Playgroud)

  • 有关转换函数和日期时间类型(char(8)和10的含义)的说明,请参阅http://www.w3schools.com/sql/func_convert.asp (2认同)

Ara*_*opi 6

GROUP BY DATE(date_time_column)