特定の値を持つすべての行の合計長の計算方法は?PostgreSQLでフィールドが共通する列を集計する方法は?
のは、次の表があるとしましょう。この場合
id | unit_id | length | column to be filled with total length
1 | 1 | 10
2 | 1 | 4
3 | 1 | 5
4 | 2 | 3
5 | 3 | 3
6 | 3 | 6
、テーブルを更新する方法を、1のUNIT_IDているすべての行がUNIT_IDを持っているすべての行の長さの合計を持ってすること1(10 + 4 = 19 + 5)その後、3のUNIT_IDを持って両方の行は、私は
update test.routes
set total_length = (select sum(length) from test.routes where unit_id = unit_id) where unit_id = unit_id
を試みたが、何のことはないことはそれだけで全体を更新していることであるしました9.
持っていますテーブル付き同じ値、各unit_idの正しい合計を更新する方法は?