0
我有上課了一堆成績表,在用戶通過用戶基礎SQL:需要另一個表來獲得從一個表,然後除以MAX值按行的總數
------------------------
|uid |lesson_id |score |
------------------------
|1 |0 |20 |
|1 |0 |25 |
|1 |0 |15 |
|1 |0 |40 |
|1 |1 |70 |
|1 |0 |10 |
|1 |1 |20 |
|1 |1 |55 |
|1 |1 |55 |
|1 |0 |5 |
|1 |2 |65 |
------------------------
我也有所有可能的教訓表可以砍下:
------------
|lesson_id |
------------
|0 |
|1 |
|2 |
|3 |
|4 |
|5 |
------------
我需要計算在從第一表格中的分數第二個表中的每一課的最高得分,並利用這一平均在第二個表中的課程數量:
所以,最大得分的得分表是(用於用戶1):
-----------------------
|lesson_id |max_score |
-----------------------
|0 |40 |
|1 |70 |
|2 |65 |
-----------------------
我需要它們求和:通過吸取總數表175和除法2:6,其應該給回答29.16
任何想法如何在單個語句中做到這一點?
我可以得到的分數表(用戶1)所有的MAX值的平均值,像這樣:
SELECT AVG(max_score) AS avg_max_score FROM
(
SELECT uid, lesson_id, MAX(score) AS max_score FROM cdu_user_progress
AND uid =1
GROUP BY lesson_id
) AS m
如何調整這個所以它提取由用戶基礎上用戶(表1中的uid)? – user3241112
@ user3241112,只需添加到外部選擇用戶ID併爲此添加一個組...另外,將用戶ID添加到內部預查詢和按用戶添加到現有課程ID的組中。 – DRapp
你有一張桌子可以容納用戶嗎?你需要引用它,否則你最終會崩潰左連接。 – Aheho