我有一個數據庫,我已經存儲了一個表與用戶信息,一個表與測試(答案和點)和一個表與每個問題的用戶的答案。每個問題總共值1分,可能有一個或多個正確的答案。如果所有的答案都是正確的,並且用戶只檢查一個答案,他只會得到0.25分。 我想做一個查詢來檢查每個用戶的總分,但我沒有找到一個好的方法。MySQL數據庫爲考試(測驗測驗)查詢積分
用戶表:
+--------+------------+-----------+-------------------+------------+--------+
| userID | first_name | last_name | email | password | points |
+--------+------------+-----------+-------------------+------------+--------+
| 1 | Jhon | Jhonny | [email protected] | secretPass | 0 |
| 2 | Dan | Dan | [email protected] | 1234 | 0 |
| 3 | Dick | Pop | [email protected] | 123456 | 0 |
| 4 | Mihaela | Micky | [email protected] | pass12 | 0 |
+--------+------------+-----------+-------------------+------------+--------+
問表: (1表示答案是好的 - 我們可以有多個正確答案)
+------------+--------------------------------------------------+---+---+---+---+
| questionID | question | a | b | c | d |
+------------+--------------------------------------------------+---+---+---+---+
| 1 | which of these are colors? | 1 | 0 | 0 | 1 |
| 2 | which of these are fruits? | 1 | 1 | 1 | 0 |
| 3 | which of these are programming language? | 0 | 1 | 1 | 0 |
| 4 | What is IPv6? | 0 | 0 | 0 | 1 |
+------------+--------------------------------------------------+---+---+---+---+
用戶回答表:(1意味着用戶選擇回答但可能是inccorect)
+------------+--------+---+---+---+---+
| questionID | userID | a | b | c | d |
+------------+--------+---+---+---+---+
| 1 | 1 | 1 | 1 | 0 | 0 |
| 2 | 1 | 1 | 1 | 1 | 0 |
| 1 | 3 | 1 | 0 | 1 | 1 |
| 1 | 4 | 1 | 1 | 1 | 0 |
| 3 | 1 | 1 | 0 | 1 | 1 |
| 4 | 1 | 1 | 0 | 1 | 1 |
| 1 | 2 | 1 | 1 | 0 | 0 |
| 2 | 2 | 0 | 1 | 0 | 1 |
| 3 | 2 | 0 | 1 | 1 | 1 |
| 4 | 2 | 1 | 1 | 0 | 1 |
| 2 | 3 | 1 | 0 | 0 | 1 |
| 3 | 3 | 1 | 0 | 1 | 1 |
| 4 | 3 | 1 | 0 | 1 | 1 |
| 2 | 4 | 0 | 1 | 1 | 1 |
| 3 | 4 | 1 | 0 | 0 | 1 |
| 4 | 4 | 0 | 0 | 1 | 0 |
+------------+--------+---+---+---+---+
我想你是指5個答案中的1個正確= 0.2分(即1的20%),而不是0.25? –
現在還不清楚你的問題在哪裏。你當然知道你應該加入問題和答案。您還知道如何比較值,您可能知道如何彙總每個用戶的數據。那麼你到底在哪裏卡住? –