如何结合 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 JOIN 和GROUP 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 中的平均分?的主要内容,如果未能解决你的问题,请参考以下文章
mysql 千万级数据库如何进行多张结构相同的表联合查询?如何优化或设置提高查询速度?
如何使用 3 个表在 SQL 查询中获得完整结果,其中 1 个表保持 2 个表的关系?
如何加快对 3 个表的 MySQL 查询(总共大约 60M 行)