我有一个名为“数据”的表。带有列:“数字”和“ 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
答案 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
寻求更多信息欢呼