以下查询每个ID返回两行.
select distinct ID,
count (COURSE_IDENTIFICATION) as tot_course_id,
COUNT(case when course_level = 'G'
then (COURSE_IDENTIFICATION)
else '0'end) count_grad,
COUNT (case when course_level = 'U'
then (COURSE_IDENTIFICATION)
else '0'end) count_under
from ods.STUDENT_COURSE
where ACADEMIC_PERIOD = '201890'
and COURSE_BILLING_CREDITS >0.0
group by ID, course_level
order by 1
Run Code Online (Sandbox Code Playgroud)
我收到以下结果:
ID |TOT_COURSE_NUM |COUNT_GRAD |COUNT_UNDER
-------------------------------------------------
12345 |1 |1 |1
12345 |2 |2 |2
Run Code Online (Sandbox Code Playgroud)
有没有办法确保同一行中的grad和undergrad总数都计算在内?