我有一份SSRS报告,我试图有条件地总结行数。我有:
11/15/2010 12:14:43 AM |当前费率|当前速度|该分钟使用的金额(速度*费率/ 60) 等等等
我正在尝试添加一小时内发生的所有行,以便我的报告显示:
11/15/2010 |上午12点 - 凌晨1点|用于该小时的金额(例如,7加仑)
我找不到任何地方如何每小时有条件地总结一行,或者如何让我的报告说出上述内容。
提前谢谢!
答案 0 :(得分:0)
使用下表进行测试:
CREATE TABLE `log` (
`entry_date` datetime DEFAULT NULL,
`amount_used` int(11) DEFAULT NULL
)
有一些测试数据:
entry_date amount_used
2010-11-01 10:00:00, 3
2010-11-01 10:30:00, 1
2010-11-01 11:00:00, 6
使用此查询获取日期,小时范围和使用的总金额:
SELECT DATE(entry_date) AS entry_date,
CONCAT_WS('-',CONVERT(MIN(HOUR(entry_date)), char(2)), CONVERT(MAX(HOUR(entry_date)),CHAR(2))) hours,
SUM(amount_used) amount_used
FROM (
SELECT entry_date, SUM(amount_used) AS amount_used
FROM log
GROUP BY DATE(entry_date), HOUR(entry_date)
) T;
所有CONCAT / CONVERT内容只是为了获得该特定日期的小时数,作为一个字符串。这是结果:
entry_date hours amount_used
2010-11-01, 10-11, 10