我需要找到学生在 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;
我需要使用 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;