SQL如何固定第一列的数据?

被问到的一个问题,类似于找到班级中本学期每次月考中每科最高的分数。
要求:第一列的顺序必须是固定的。
例如:

语文 10
数学 20
英语 30
体育 40
生物 50
物理 60
地理 70
化学 80

SQL不太好,没有想到怎么解决,特别是固定第一列的数据。

img

创建一个课程排序的表。left排序表,按照排序表的顺序order by

新增一个参数表,里面包含语文-数学的顺序和一个序号。查询时以此参数表为主表,联表查询,再根据序号排列

  1. 比较合理的方式是,建一个表,存上这些科目的排序,然后再JOIN这个表,就有排序字段了
  2. 如果不能创建其他对象,那么就在sql后用order by 指定排序顺序
    order by decode(科目,'语文','1','数学','2','英语','3','体育','4','生物','5','物理','6','地理','7','化学','8','9')
    

第一列排序不就行了嘛~~~