Mysql
計算學生提供不同科目數量的班級的平均值
我正在嘗試計算學生可以持有不同數量科目的班級的班級平均值(例如:一個班級中有兩個學生,其中一個學習 3 個科目,另一個學習 2 個科目)。如何獲得適用於所有學生的班級平均成績?我已經在表格中列出了他們的總分。我知道計算平均值的公式只是個別學生的總平均值除以學生人數,但我似乎無法讓它發揮作用。誰能幫我寫一個查詢來計算並列印出這個班級的平均值?
這是我到目前為止所嘗試的:
SELECT student_id, SUM(CA_total)/count(term_total) AS average FROM score_entry GROUP BY student_id
但我希望最終結果是 25 + 26.5 的總和,即 51.5,然後除以班上的 2 名學生應該得到 25.75。這是班級平均水平。我想要能夠回顯最終答案 25.75 的查詢或程式碼。謝謝 這是精確數據庫的樣本
SUM(..)/count(..)
很接近。反而:SUM(sums) / SUM(counts)
即每個小計(學生?)都有一個總分和一個項目數(科目)的計數
就像 Rick 指出的那樣,您應該提供
CREATE TABLE
和INSERT
聲明。也就是說,我猜是這樣的:SELECT AVG(average) FROM ( SELECT student_id, AVG(CA_total) -- assuming CA_total and term_total are not null FROM score_entry GROUP BY student_id ) AS T
會做