我可能需要一些SQL語句的幫助。所以,我有表「續」,它看起來像這樣:累積彙總列
cont_id name weight
----------- ---------- -----------
1 1 10
2 1 20
3 2 40
4 2 15
5 2 20
6 3 15
7 3 40
8 4 60
9 5 10
10 6 5
然後我總結了重列,由名稱分組是:
name wsum
---------- -----------
2 75
4 60
3 55
1 30
5 10
6 5
而結果應該有一個積累柱看起來應該是:
name wsum acc_wsum
---------- ----------- ------------
2 75 75
4 60 135
3 55 190
1 30 220
5 10 230
6 5 235
,但我沒能拿到最後的陳述工作..
編輯:此聲明做了(感謝戈登)
select t.*,
(select sum(wsum) from (select name, SUM(weight) wsum
from cont
group by name)
t2 where t2.wsum > t.wsum or (t2.wsum = t.wsum and t2.name <= t.name)) as acc_wsum
from (select name, SUM(weight) wsum
from cont
group by name) t
order by wsum desc
請顯示您無法工作的語句的代碼。另外,你使用的是什麼數據庫? – dan1111
我剛剛發現[這個答案](http://stackoverflow.com/a/2563940/1771479)對MySQL非常有效。 – agold