网站页面优化方法,遵义网站建设公司电话多少,高清做爰片免费观看网站,服装定制前景描述#xff1a;给定一张学生学科成绩表base_student_grade,字段id表示学生学号#xff0c;name为姓名#xff0c;subject表示学科#xff0c;grade为某学科成绩。使用子查询和窗口函数查询每个学生成绩最高的学科和分数。
select id,name,subject,grade
from (select id,…描述给定一张学生学科成绩表base_student_grade,字段id表示学生学号name为姓名subject表示学科grade为某学科成绩。使用子查询和窗口函数查询每个学生成绩最高的学科和分数。
select id,name,subject,grade
from (select id,name,subject,grade,row_number() over(partition by id,name order by grade desc) as rnfrom base_student_grade
) where rn1
注
1. row_number() 窗口函数。为结果集中的每一行生成一个唯一的行号。
2. partition by将数据按照id,name进行分区即将具有相同id,name的行分为同一个分区。
3. order by grade desc每个分区按照grade降序排列。
4. rn1选取每个分区内的第一行rn2选取每个分区内的第二行rn2选取每个分区内的前两行。