求助一个SQL语句

qwe065560 2013-05-02 06:02:35
我有表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='张三'



我目前的思路如上,,但是抛错。有什么更好的实现办法么
...全文
149 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwe065560 2013-05-03
  • 打赏
  • 举报
回复
引用 3 楼 ACMAIN_CHM 的回复:
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
高!!!!!!
rucypli 2013-05-02
  • 打赏
  • 举报
回复
引用 2 楼 qwe065560 的回复:
[quote=引用 1 楼 roronoa_zoro_zrh 的回复:] select name, sum(score) from table_1 group by name;
对哦。。分组就能解决的。。汗[/quote]
ACMAIN_CHM 2013-05-02
  • 打赏
  • 举报
回复
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
qwe065560 2013-05-02
  • 打赏
  • 举报
回复
引用 1 楼 roronoa_zoro_zrh 的回复:
select name, sum(score) from table_1 group by name;
对哦。。分组就能解决的。。汗
宅的一逼 2013-05-02
  • 打赏
  • 举报
回复
select name, sum(score) from table_1 group by name;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧