name class score
张三 数学 80
张三 语文 70
李四 数学 70
李四 语文 80
我想一个sql查询出每个人每科的总分
select
MAX(CASE WHEN class ='数学' THEN sum(score) as a ELSE '' END) as '数学',
MAX(CASE WHEN class ='语文' THEN sum(score) as a ELSE '' END) as '语文'
from table_1 where name='张三'
我目前的思路如上,,但是抛错。有什么更好的实现办法么
...全文
1495打赏收藏
求助一个SQL语句
我有表table_1 name class score 张三 数学 80 张三 语文 70 李四 数学 70 李四 语文 80 我想一个sql查询出每个人每科的总分 select MAX(CASE WHEN class ='数学' THEN sum(score) as a ELSE '' END) as '数学', MAX(CASE WHEN class ='语文' THEN sum(score) as a ELSE '' END) as '语文' from table_1 where name
select name,
sum(CASE WHEN class ='数学' THEN score END) as `数学`,
sum(CASE WHEN class ='语文' THEN score END) as `语文`,
from table_1
where name='张三'
group by name