Tsql T-SQL按部分日期分组查询/计数行

Tsql T-SQL按部分日期分组查询/计数行,tsql,sql-server-2008-r2,Tsql,Sql Server 2008 R2,我有一个用以下行定义的表(在SQLServer2008R2中,如果需要的话)。DateAdded列是SmallDateTime数据类型 ID DateAdded 1 2012-08-01 12:34:02 2 2012-08-01 12:48:25 3 2012-08-05 08:50:22 4 2012-08-05 11:32:01 5 2012-08-26 09:22:15 6 2012-08-26 13:42:02

我有一个用以下行定义的表(在SQLServer2008R2中,如果需要的话)。
DateAdded
列是
SmallDateTime
数据类型

 ID    DateAdded
  1    2012-08-01 12:34:02
  2    2012-08-01 12:48:25
  3    2012-08-05 08:50:22
  4    2012-08-05 11:32:01
  5    2012-08-26 09:22:15 
  6    2012-08-26 13:42:02
  7    2012-08-27 08:22:12
我需要做的是计算在同一YYYY/MM/DD值上出现的行数。所以我需要得到的结果是这样的

DateAdded   QTY
2012-08-01  2  
2012-08-05  2  
2012-08-26  2  
2012-08-27  1
我想不出让它工作的语法/表达式。有人能给我指出正确的方向吗?谢谢大家!

SELECT 
  DateAdded = DATEADD(DAY, DATEDIFF(DAY, 0, DateAdded), 0), 
  QTY = COUNT(*)
FROM dbo.tablename
GROUP BY DATEADD(DAY, DATEDIFF(DAY, 0, DateAdded), 0);
或者正如Marc正确指出的那样(我花了更多的时间研究格式错误,而不是标签):

或者正如Marc正确指出的那样(我花了更多的时间研究格式错误,而不是标签):


在突出显示代码示例或表格输出时,请使用
{}
按钮。如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮(
{}
),以精确地格式化和语法突出显示它!那么你也不需要任何凌乱的

标签了!很抱歉。我编辑了这篇文章,希望现在一切正常?为什么在第二个输出中添加逗号?idk-只是想快速发布我的问题。对不起,如果我的格式不太完美。但是谢谢大家的回答!我感谢你的帮助!在突出显示代码示例或表格输出时,请使用
{}
按钮。如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮(
{}
),以精确地格式化和语法突出显示它!那么你也不需要任何凌乱的

标签了!很抱歉。我编辑了这篇文章,希望现在一切正常?为什么在第二个输出中添加逗号?idk-只是想快速发布我的问题。对不起,如果我的格式不太完美。但是谢谢大家的回答!我感谢你的帮助!或者只是
GROUP BY CAST(DateAdded AS DATE)
从2008 R2开始,或者只是
GROUP BY CAST(DateAdded AS DATE)
从2008 R2开始
SELECT 
  DateAdded = CONVERT(DATE, DateAdded), 
  QTY = COUNT(*)
FROM dbo.tablename
GROUP BY CONVERT(DATE, DateAdded);