2010-07-11 89 views
2

我有答案的问题表:MySQL创建汇总表?

table questionAnswers: 
    user VARCHAR 
    question VARCHAR 
    answerValue VARCHAR 

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

我想收集了多少问题,用户已经回答到表:

table users 
    user VARCHAR 
    questionsAnswered INT 

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

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

回答

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

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

+0

Phew,谢谢!最后时刻保存在那里。 – Ender 2010-07-11 03:54:17