我的想法是先进行 行列转换,将这个表用union all转换成name-subject-grade的中间表,然后再用排序函数和partition by排一下每个人的分数科目的排名,最后把每个人的第一名的科目选出来就好了。