2010-07-11 90 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