+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(12) | YES | | NULL | |
| course | varchar(10) | YES | | NULL | |
| score | int(11) | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
select name,
sum(case course when 'yuwen' then score else 0 end) as 'yuwen',
sum(case course when 'shuxue' then score else 0 end) as 'shuxue',
sum(case course when 'english' then score else 0 end) as 'english'
from course
group by name;