select stu_id,case when count(*) = 1 then class_id
else max(case when main_class_flag = 'Y' then class_id else NULL END) END as classid
from courses group by stu_id;
不知道为啥要加这个max
聚合函数里的cas when
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
别这么骄傲 2022-11-09 19:38关注select stu_id,
(case when count() = 1 then class_id
else max(case when main_class_flag = 'Y' then class_id else NULL END) END as classid
from courses
group by stu_id;
这个题目的意思 count()=1,就直接输出class_id(班级id),否则就取class_id最大那个博主不知道你要表达什么 ,单单 看聚合函数里的cas when ,我能看出啥?
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报