SQLステートメントについてサポートが必要な場合があります。したがって、次のようなテーブル「cont」があります。
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