按时间段聚合SQL列值

前端之家收集整理的这篇文章主要介绍了按时间段聚合SQL列值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我每5分钟就有一些数字数据(即每天288个值,以及相当多的数据).我需要编写一个可以返回每天所有值的总和的查询.所以目前这个表看起来像这样:

03/30/2010 00:01:00  --   553   
03/30/2010 00:06:00  --   558   
03/30/2010 00:11:00  --   565  
03/30/2010 00:16:00  --   565  
03/30/2010 00:21:00  --   558   
03/30/2010 00:26:00  --   566  
03/30/2010 00:31:00  --   553   
...

这持续了’x’天,我希望查询返回’x’行数,每行包含每天所有值的总和.像这样的东西:

03/30/2010  --  <sum>
03/31/2010  --  <sum>
04/01/2010  --  <sum>

查询将进入Dundas webpart,所以不幸的是我无法编写自定义用户函数来帮助它.所有逻辑都只需要在一个大查询中.任何帮助将不胜感激,谢谢.我正试图让它在目前使用GROUP BY和DATEPART工作,不确定它是否是正确的方法.

解决方法

你可以使用CAST到日期类型

SELECT [ENTRY_DATE],CAST([ENTRY_DATE] AS date) AS 'date' 
FROM [PROFIT_LIST]

现在你可以根据这个分组了.

SELECT CAST([ENTRY_DATE] AS date) AS 'date',SUM(PROFIT) 
FROM [PROFIT_LIST]
GROUP BY CAST([ENTRY_DATE] AS date) AS 'date'

猜你在找的设计模式相关文章