给定一个名为“等级”的表:
STUDENT GRADE
john 94
john 76
john 83
john 87
john 90
我想要一个查询来返回每个学生的一些成绩示例,例如:
STUDENT GRADE1 GRADE2 GRADE3 GRADE4
John 94 76 83 87
请注意,仅返回 4 个示例成绩列,但该学生的成绩超过 4 个。
我只知道如何在 GROUP BY 子句中使用 min() 和 max() 函数返回 2 个示例成绩:
select student, min(grade), max(grade)
from grades
group by student
除了 min/max 之外,是否有任何技巧或功能可以使用 GROUP BY 子句显示超过 2 个等级?
我宁愿不编写自己的存储函数来执行此操作,除非它是查询的一部分而不是存储在数据库中。
我正在考虑从记录集中返回除 MIN 和 MAX 之外的其他值的更多函数(如第二高、第三高等)。
想法?