私は次の構造を持つテーブル(結果)を使用しています(質問しないでください、私はそれを作成しませんでした)
id | record_type | user_id | answer_id | choice | score | total | email
-------------------------------------------------------------------------------
1 email xxxxxxx 0 userX@site.com
2 answer xxxxxxx aaaaaa A 0
3 answer xxxxxxx bbbbbb A 0
4 answer xxxxxxx cccccc B 10
5 email yyyyyyy 0 userY@site.com
6 answer yyyyyyy aaaaaa A 0
7 answer yyyyyyy bbbbbb A 0
8 answer yyyyyyy cccccc A 0
9 email zzzzzzz 0 userZ@site.com
10 answer zzzzzzz aaaaaa A 0
11 answer zzzzzzz bbbbbb A 0
12 answer zzzzzzz cccccc B 10
これはアンケートであり、アンケートの送信後に正解のスコア値が変更されました。「正解」のスコア値を10に設定するための更新をすでに実行しました。次に、勝者に連絡できるように、行の合計をrecord_type:emailで更新する必要があります。
目標は、行1、5、および9の合計列を10.0および10に設定することです。
私はこのようなことを考えています
UPDATE results SET total = SUM(score)
FROM results GROUP BY user_id WHERE user_id = user_id
しかし、それは正しくないように見え、私は間違った道を進んでいるのではないかと心配しています。