当前位置: 首页 > 知识库问答 >
问题:

在SQL中同时使用Max和Avg函数

薛淮晨
2023-03-14

我有以下四个表格,包含学生信息、讲座信息、听课信息和考试。

使用SELECT Student_;我得到了每个学生的平均分数列表。

如何将其与MAX函数相结合,以获得列表中平均数最高的学生的ID,姓名和平均值?

学生id
学生姓名

lecture_id<br>lecture_name<br>ECTS

id
学生id
讲座id

id
学生id
讲座id
分数

共有1个答案

印劲
2023-03-14

您可以使用具有以下顺序的 SQL...用于获取最大值的 DESC 子句

对于MySQL:

SELECT e.Student_id, s.student_name, AVG(marks) as "average" 
  FROM exams e
  LEFT JOIN students s ON e.Student_id = s.Student_id
 GROUP BY e.Student_id, s.student_name
 ORDER BY "average" DESC
 LIMIT 1;

对于Oracle:

SELECT * FROM
(
 SELECT q.*, row_number() over (order by "average" desc) as rn 
   FROM
  (
   SELECT e.Student_id, s.student_name, AVG(marks) as "average"           
     FROM exams e
     LEFT JOIN students s ON e.Student_id = s.Student_id
    GROUP BY e.Student_id, s.student_name
   ) q
 )
 WHERE rn = 1;
 类似资料:
  • 问题内容: 我正在用SQL编写此查询: 首先,我将进行分组,但是接下来,会发生什么? 问题答案: 如果你有这样的事情 分组后 因此,下面的查询将返回45作为DepartmentId 3的“最高平均工资”

  • AVG() 函数 AVG() 函数返回数值列的平均值。 SQL AVG() 语法SELECT AVG(column_name) FROM table_name 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "access_log" 表的数据: +-----+---------+-------+------------+ | aid | site_id | count

  • 问题内容: numpy.amax()将在数组中找到最大值,numpy.amin()对最小值进行相同操作。如果要同时找到max和min,则必须调用两个函数,这需要两次(非常大)数组传递,这似乎很慢。 numpy API中是否存在仅通过一次数据查找即可找到max和min的函数? 问题答案: numpy API中是否存在仅通过一次数据查找即可找到max和min的函数? 否。在撰写本文时,尚无此功能。(是

  • Avg 函数 计算包含在特定查询字段中的一组数值的算术平均值。 语法 Avg(expr) 其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算平均值的数据;或者标识一个表达式,它用该字段中的数据来执行计算。 expr中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 合计函数)。 说明 使用 Avg 计算的平均值是算术平均

  • 问题内容: 您好,这是我想要的,我连接到数据库并检索UniqueId列的最大元素,并将其分配给名为maxID的整数变量,这是我的方法: 解决这个问题的一种体面的方式,感觉是通过在while循环中使用“ rs2.next()”,这是一种非常粗糙的方式。 谢谢 问题答案:

  • MAX() 函数 MAX() 函数返回指定列的最大值。 SQL MAX() 语法SELECT MAX(column_name) FROM table_name; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "Websites" 表的数据: +----+--------------+---------------------------+-------+------