简单的组不工作日期时间字段?

时间:2011-09-07 21:58:52

标签: tsql sql-server-2008

有人可以帮我解决这个问题吗?我不确定为什么我的小组不工作。

SELECT [Date], SUM(counted) as TotalCount
FROM dbo.TableName
GROUP BY [Date], TotalCount
ORDER BY [Date]

结果

Date                        TotalCount

2011-09-07 00:00:00.000 12 
2011-09-07 00:00:00.000 14 
2011-09-07 00:00:00.000 11

我希望结果看起来像下面的

2011-09-07 00:00:00.000 37

由于

这个MSSQLServer 2008,我希望按日期和时间进行分组。

3 个答案:

答案 0 :(得分:2)

不要GROUP BY [Date], TotalCount而是需要GROUP BY [Date]

这会导致错误,除非您在该名称的来源中也有一列,例如如下。

;WITH TableName([Date], counted, TotalCount) as
(
select '2011-09-07 00:00:00.000',12,1 union all
select '2011-09-07 00:00:00.000',14,2 union all 
select '2011-09-07 00:00:00.000',11,3
)
SELECT [Date], SUM(counted) as TotalCount
FROM TableName
GROUP BY [Date], TotalCount
ORDER BY [Date]

答案 1 :(得分:1)

这可能是你的领域的时间部分的问题。如果您只想按日期分组,则可以尝试以下操作:

SELECT CONVERT(VARCHAR(8),[Date],112) [Date], SUM(Counted) TotalCount
FROM dbo.TableName
GROUP BY CONVERT(VARCHAR(8),[Date],112)

答案 2 :(得分:0)

为了避免由于刻度而导致不同值的可能性,您可能希望将Date转换为CHAR并执行分组。