0

我需要使用 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 

  
4

2 回答 2

0

在 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;
于 2020-12-13T13:53:06.960 回答
0

我也添加了戈登的答案以获得最高分。

选择 t.*, (case best (maths, science, art, computer, sports) 当数学然后“数学”当科学然后“科学”当艺术然后“艺术”当计算机然后“计算机”当运动然后“运动”结束) 作为最高分,

最伟大的(数学、科学、艺术、计算机、体育)来自 t 的最高标记;

于 2020-12-15T04:26:45.910 回答