mysql中case when 用于分类求和

假设有张学生成绩表(CJ)如下 
[姓名] [学科] [成绩] 
张三 语文 80 
张三 数学 90 
张三 物理 85 
李四 语文 85 
李四 数学 92 
李四 物理 82 
王五 数学 60 

想变成 
[姓名] [语文] [数学] [物理] 
张三 80 90 85 
李四 85 92 82 
王五 null 60 null 

 

select 姓名,
sum(case 学科 when '语文' then 成绩 end) as 语文,
sum(case 学科 when '数学' then 成绩 end) as 数学,
sum(case 学科 when '物理' then 成绩 end) as 物理
from cj group by 姓名 

posted on 2014-08-02 15:27  lchecho  阅读(3541)  评论(0)    收藏  举报

导航