我有一个数据表,我想按不同的日期分组。但在这个专栏里,我还有小时,分和秒。。。我要做的就是按日期分组并对另一列求和。
例如:
Date DataToSum
2020-05-20 10:29:37.000 5
2020-05-20 11:18:12.010 3
2020-05-20 12:31:56.020 8
2020-05-21 10:19:36.000 4
2020-05-22 09:28:17.000 1
所以结果是这样的:
2020-05-20 -> 16
2020-05-21 -> 4
2020-05-22 -> 1
如何使用sql来实现这一点?
我正在microsoft sql server management studio中使用transact-sql。
这就是我要尝试的:
Select distinct convert(varchar, col_Date, 111), Sum(cats) from table1
Group by col_Date
Order by convert(varchar, col_Date, 103) desc
2条答案
按热度按时间dy2hfwbg1#
您的代码看起来像sql server。在该数据库中:
关键是需要在
group by
.注意:这会将值转换为
date
而不是一根绳子。我不建议混合使用字符串和日期函数,除非您想将日期/时间转换为具有特定格式的字符串。eyh26e7m2#
另一个可能使其更整洁的选项是
Common Table Expression (CTE)
```With ExampleCTE AS
(
Select convert(date, col_Date) As dte
, cats
From table1
)
Select dte
, SUM(cats) As SumOfCats
From ExampleCTE
Group By dte
Order By dte Desc;