我有一个问题的答案表:
table questionAnswers:
user VARCHAR
question VARCHAR
answerValue VARCHAR
重要提示:用户可以发布问题的多个答案
我想将用户回答的问题数量收集到表中:
table users
user VARCHAR
questionsAnswered INT
重要提示:必须忽略同一问题的多个答案
是否有一个查询可以自动更新 users
表中的 questionsAnswered
列?
最佳答案
UPDATE users AS u
SET questionsAnswered = (
SELECT COUNT(DISTINCT question)
FROM questionAnswers AS q
WHERE q.user=u.user)
这假设 questionsAnswered
中的所有用户都已在 users
中拥有条目。 (这将更新users
,但不会插入任何新行。)
关于MySQL 创建汇总表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221751/