如何从SQL Group获取聚合数据

时间:2015-09-23 08:48:41

标签: sql sql-server-2008

假设我有一张桌子 -

HOUR  Value
 0   10
 1    5
 2   12

我希望结果为  小时--->价值总和

0    10
1    15
2    27

2 个答案:

答案 0 :(得分:3)

核心ANSI SQL答案,使用相关的子查询来总结值:

select hour, (select sum(value) from tablename t2
              where t2.hour <= t1.hour)
from tablename t1

答案 1 :(得分:2)

因为我误读了这个事实,这是连续数字的总计。我已经更新了我的答案,以替代使用JOIN代替@jarlh给出的答案。

SELECT T.Hour, T.value, SUM(TT.Value) S
FROM   
TimeTable T
CROSS JOIN TimeTable TT
WHERE TT.Hour <= T.Hour
GROUP BY T.Hour, T.Value
ORDER BY 1