MySQL创建汇总表?

时间:2010-07-11 03:30:23

标签: mysql

我有一个问题答案表:

table questionAnswers:
    user VARCHAR
    question VARCHAR
    answerValue VARCHAR

重要提示:用户可以发布多个问题答案

我想收集用户在表格中回答的问题:

table users
    user VARCHAR
    questionsAnswered INT

重要提示:必须忽略同一问题的多个答案

是否有一个查询可以自动更新questionsAnswered表中的users列?

1 个答案:

答案 0 :(得分:3)

UPDATE users AS u 
SET questionsAnswered = (
    SELECT COUNT(DISTINCT question) 
    FROM questionAnswers AS q 
    WHERE q.user=u.user)

这假设questionsAnswered中的所有用户都已在users中有一个条目。 (这将更新users,但不会插入任何新行。)