我有以下幾點:MySQL的:通過學生和會議時間,通過程序
Programs Students Sessions
-------- ---------- ----------
id id id
name program_id student_id
... ... time_in
time_out
程序有很多學生,學生有很多的會議。每個會話都有一個持續時間,由time_in
和time_out
劃定。
我想要的是學生在課程中花費的總小時總數。因此,一個示例結果會是什麼樣子:
Results:
Program Name hours
----------- ---------
Nursing 300 hours
Pharmacy 467 hours
PT 598 hours
多scrounging後,我有以下查詢:
SELECT programs.name, a.session_sum FROM(
SELECT students.program_id AS stu_id,
TIME_TO_SEC(TIMEDIFF(time_out, time_in)) AS session_sum
FROM students INNER JOIN sessions
ON students.id = sessions.student_id
GROUP BY students.program_id
) AS a, programs
WHERE programs.id = a.stu_id
它的工作原理......之類的。不幸的是,它似乎只適用於爲給定學生找到的第一個會話,而不是全部學生可能擁有的會話。
我在我的MySQL知識的邊緣得到這麼多。我錯過了什麼?我是否應該放棄這個查詢並採用完全不同的方向?我也可以求助於循環Rails,但我想找出一種方法來處理單個查詢。
感謝您的幫助!
謝謝!這是問題。噢,在它被指出後很明顯。 – crowhill