我做了一個查詢,其中有一個預定義的答案表與用戶輸入的多個問題的答案進行比較的結果。現在的問題是我想獲得每個用戶的總分(我可以根據狀態正確計算)。以下查詢爲我提供了每個問題答案的狀態都是正確的所有用戶數據。mysql count result status correct and group by user id
SELECT qa.question_id, qa.test_id, uta.user_answer,uta.user_id, qa.type,
qa.answers correct_answer,
CASE WHEN uta.user_answer = qa.answers THEN 'correct' ELSE 'incorrect' END
AS status
FROM questions_answer qa
LEFT JOIN
(
SELECT user_id, type, test_id, question_id,
GROUP_CONCAT(answers ORDER BY answers) AS user_answer,
timestamp from user_test_answers
WHERE test_id = '1'
GROUP BY user_id, question_id
) uta
ON qa.question_id = uta.question_id
where qa.test_id=1
如果我在結尾處添加GROUP BY user_id
也由user_id
但如何組的結果計算所有的狀態correct
,這樣我可以得到正確答案的總數計算。
考慮提供適當的DDL(和/或sqlfiddle)連同所需的結果集 – Strawberry