如何结合 3 个表的结果来计算 MySql 中的平均分?

Posted

技术标签:

【中文标题】如何结合 3 个表的结果来计算 MySql 中的平均分?【英文标题】:How to combine result of 3 tables to calculate average marks in MySql? 【发布时间】:2018-05-14 19:19:20 【问题描述】:

我有这样的桌子

    学生(Rollno,姓名,地址) 主题(子代码,子名称) Marks(Roll_no, Sub_code, Marks)

我想查询每个学生的平均分(所有科目)以及学生姓名

例如

【问题讨论】:

将表格和数据发布为文本READ THIS 你试过什么?你知道INNER JOINGROUP BY 吗? 【参考方案1】:

您可以通过rollno 加入并按学生的rollno 对结果进行分组:

SELECT   s.rollno, name, AVG(marks)
FROM     student s
JOIN     marks m ON s.rollno = m.rollno
GROUP BY s.rollno, name

【讨论】:

我想你想要GROUP BY rollno, name 以防两个学生有相同的名字。 @JuanCarlosOropeza 可能不是一个坏主意。在给定的数据集中,名称是唯一的,但我同意我们不应该假设它。

以上是关于如何结合 3 个表的结果来计算 MySql 中的平均分?的主要内容,如果未能解决你的问题,请参考以下文章