统计科目数和课程数

统计学科数和课程数现有课程选修表,要求统计出每个学生所选的课程数及学科数,选修课数据如下SNOSCORENAMEC

统计学科数和课程数
现有课程选修表,要求统计出每个学生所选的课程数及学科数,选修课数据如下

SNOSCORENAMECATEGORY123语文文科134政治文科13物理理科14数学理科133化学理科23体育实践课

sql如下:
select *  from (select sno,               count(name) over(partition by sno) nameNum,               count(distinct category) over(partition by sno)categoryNum,               row_number() over(partition by sno order by score) rn          from ZZZ_TEST t) where rn = 1

结果如下:
SNONAMENUMCATEGORYNUMRN152         1211         1