我正在处理一个表格(results),其结构如下(别问我,这不是我建的)
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,现在我们需要更新记录类型为“电子邮件”的行的总分,以便联系获胜者。
目标是将第1、5和9行的总列设置为10、0和10。
我考虑使用以下方法:
UPDATE results SET total = SUM(score)
FROM results GROUP BY user_id WHERE user_id = user_id
但是这看起来不对,我担心自己可能走错了方向。