用SQL查询每个班级的第三名学生的信息?

有两个表,一个学生信息表(学号,姓名,性别,班级);一个班级表(学号,班级,学科,成绩);好人大佬们帮帮忙,面试遇到的,最好用Oracle语法。🙏🏻🙏🏻

SELECT 学生信息表.姓名, 班级表.学科, AVG(班级表.成绩) as 平均成绩
FROM 学生信息表, 班级表
WHERE 学生信息表.学号 = 班级表.学号 AND 学生信息表.班级 = ‘特定班级’
GROUP BY 学生信息表.姓名, 班级表.学科;

每个班级第三名学生信息,那就需要用到排名?

SELECT *
FROM (
  SELECT s.班级, s.学号, s.姓名, s.性别, c.学科, c.成绩,
         ROW_NUMBER() OVER (PARTITION BY s.班级 ORDER BY c.成绩 DESC) AS rank
  FROM 学生信息表 s
  JOIN 班级表 c ON s.学号 = c.学号
)
WHERE rank = 3;