MSSQL Summary by EntryDate

时间:2018-10-16 07:52:32

标签: sql sql-server tsql

我有一个名为“数据”的表。带有列:“数字”和“ EntryDate”。 EntryDate是Datetime(Y-m-d h:i:s)。

我需要计算一个日期中所有条目的总和,忽略h:i:s,并按日期将它们分组。

示例:

Number | EntryDate
-------------------
23     | 2018-10-01 13:22:10.520
25     | 2018-10-01 11:16:09.533

所以基本上我需要对2018年10月1日的数字求和。 我尝试了几种变体,但似乎没有任何效果,例如:

SELECT
SUM(Number) as 'Sum',
EntryDate AS DATE
FROM Data
GROUP BY EntryDate

2 个答案:

答案 0 :(得分:2)

使用cast()函数将日期时间转换为日期

SELECT
SUM(Number) as 'Sum', cast(EntryDate as date) AS `DATE`
FROM Data
GROUP BY cast(EntryDate as date

答案 1 :(得分:1)

您的日期目前为日期时间格式,因此,如果您在选择查询中选择日期,则不会真正获得日期,而是会获得相应的日期时间。

您可以做的是转换为日期:

尝试:

选择sum(number)作为'Sum',convert(date,EntryDate)作为'Date' 来自数据 按convert(date,EntryDate)分组

应该工作。 去这里https://www.w3schools.com/sql/func_sqlserver_convert.asp

寻求更多信息

欢呼