1.
select sum(CASE WHEN A.[STATUS]=0 THEN 1 ELSE 0 end) as
a1,
sum(CASE A.[STATUS] WHEN 1 THEN 1 ELSE 0 end) as
a2,
sum(CASE A.[STATUS] WHEN 2 THEN 1 ELSE 0 end) as a3,
A.UserId,C.TrainId
from CoursewareLogMiddle A join
LessonDetail B
on A.LessonId=B.Id
join
LessonClass C on B.ClassId=C.ClassId
where a.UserId=9143 and
c.TrainId=81
group by A.UserId,C.trainId
行转列,虽然用到了case when then 但是也需要和group 结合使用。
刚一开始 sum 我写的是count 但是count 是会count 所有。
所以毅然改成sum了,就正确了。
这个方法可以计算出数量。
每天努力一点之SQL(二) count sum case when then group by,布布扣,bubuko.com
每天努力一点之SQL(二) count sum case when then group by
原文地址:http://www.cnblogs.com/sunShineJing/p/3759271.html