有两个表,一个学生信息表(学号,姓名,性别,班级);一个班级表(学号,班级,学科,成绩);好人大佬们帮帮忙,面试遇到的,最好用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;