我有以下几点: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