我對MySQL很新,仍然試圖學習繩索。請原諒我,如果這是太基本MySQL SUM()和COUNT()在多列
我有3個表:
學生:
Student id|Student name| Gender|Parent id
家長:
Parent id|Parent name|Parent Address|Parent Phone|
和類:
Class id|Class Name|Class day
和學生點名電話:
Student id|Class Id
我正在嘗試計算每個家長在學校的學生人數以及每個學生的班級數。
到目前爲止,我設法改變查詢來計算,他們需要支付的父母的名字和活動次數:
SELECT CONCAT_WS(' ',P.Parent_title,P.Parent_fname,P.Parent_sname) AS 'Parent name',
COUNT(RC.Student_id) AS 'Number of Activities'
FROM Student S,Parent P,RollCall RC,Class C
WHERE S.Parent_id=P.Parent_id AND S.Student_id=RC.Student_id AND RC.Class_id=C.Class_id
GROUP BY S.Parent_id;
但我不知道如何包括SUM()
計算總每個家長需要支付的金額,比如說每個班級是25美元。 我的教授暗示我需要使用CAST()
函數,但我不確定我應該使用它。我應該在COUNT()
的價值上使用它嗎?
再次感謝大家,你一直是一個巨大的幫助。 (我也會繼續努力)。
假設父有三個孩子學校;結果集中的記錄會是什麼樣子? – eggyal
對於有3個孩子的家長,我得到: 父母名稱|的學生 Mr. John Lot | 4 這是你的意思嗎? – user1361276
我的意思是,如果你想到你在問什麼,真的不清楚如何爲一個在學校有三個孩子的家長加入數據。你想要的結果要麼只顯示每個家長一次,在這種情況下,它應該顯示什麼樣的學生姓名和班級數量?否則,同一位家長會出現三次,每次爲他們的孩子一次。你需要更清楚你想要結果的外觀。 – eggyal