我需要找到学生在 matillion 中得分最高的科目

I need to find in which subject the student has scored the highest marks in matillion

我需要使用 matillion 查找学生在哪个科目中得分最高(只有科目名称就足够了) 我的数据看起来像这样

studentid   maths   science art computer sports
1             55     68      59   75     62
2             75     68      79   56     89
3             89     85      74   32     56
4             89     92      86   75     12
5             99     100     45  68      45

我希望我的结果看起来像这样

studentid     highestmark
1              computer
2              sports
3              maths
4              science                     
5              science 

  

在 Snowflake 或大多数 SQL 方言中,您可以使用 greatest():

select t.*,
       (case greatest(maths, science, art, computer, sports)
           when maths then 'maths'
           when science then 'science'
           when art then 'art'
           when computer then 'computer'
           when sports then 'sports'
        end) as highestmark
from t;

我也加入了 Gordon 的答案以获得最高分。

select t.*, (案例最多(数学、科学、艺术、计算机、体育) 当数学然后 'maths' 当科学然后 'science' 当艺术 'art' 当计算机然后 'computer' 什么时候运动然后 'sports' 结束)作为最高分,

最好的(数学、科学、艺术、计算机、体育)highest_mark 来自 t;