统计学科数和课程数

现有课程选修表,要求统计出每个学生所选的课程数及学科数,选修课数据如下
SNO	SCORE	NAME	CATEGORY
1	23	语文	文科
1	34	政治	文科
1	3	物理	理科
1	4	数学	理科
1	33	化学	理科
2	3	体育	实践课

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

结果如下:
SNO	NAMENUM	CATEGORYNUM	RN
1	5	2	         1
2	1	1	         1

猜你喜欢

转载自shuishiwo.iteye.com/blog/1316367