Sql 修剪日期字段的一部分以执行计数和分组查询

Sql 修剪日期字段的一部分以执行计数和分组查询,sql,Sql,我有下表 EnteredDate Item 1/2/2014 12:01:59 PM. Bags 1/2/2014 12:02:54 PM. Bags 1/3/2014 12:04:55 pm. Shoes 我想返回一个计数 1/2/2014 Bags 2 1/3/2014 Shoes 1 我可以进行选择和计数查询,但因为我的数据是以长日期格式存储的,所以我不能按日期分组,除非我修剪时间部分。这可以在SQL查询中完成吗?答案可能取决于您使用

我有下表

EnteredDate              Item

1/2/2014 12:01:59 PM.    Bags

1/2/2014 12:02:54 PM.    Bags

1/3/2014 12:04:55 pm.    Shoes
我想返回一个计数

1/2/2014 Bags  2
1/3/2014 Shoes 1

我可以进行选择和计数查询,但因为我的数据是以长日期格式存储的,所以我不能按日期分组,除非我修剪时间部分。这可以在SQL查询中完成吗?

答案可能取决于您使用的SQL的风格,但请尝试以下方法:

Select Item,
       DateAdd(Day, DateDiff(Day, 0, EnteredDate), 0) as EnteredDate,
       Count(*) As ItemCount
From   YourTableNameHere
Group By Item, 
         DateAdd(Day, DateDiff(Day, 0, EnteredDate), 0)
所有DateAdd和DateDiff的内容实际上都删除了DateTime的时间部分。

这应该可以:

select cast(entereddate as date), item, count(*)
from table1
group by cast(entereddate as date), item

示例

@KenWhite是的,我忘记了项目字段,我现在已经更新了。或者你是说别的什么?不,你的编辑在我发表评论后就通过了。(这就是为什么评论现在不见了。)我还对答案投了更高的票。:-)你在使用什么数据库?