最近找工作面试的时候做了这一道题:
score表:
要求根据score表汇总为下面这种:
这道题要用到汇总,所以我们要用 sum函数,一个人对应一条数据,所以我们要对name进行group by分组:
SELECT
s.name,
SUM(CASE WHEN s.category='语文' THEN s.score ELSE 0 END) AS '语文',
SUM(CASE WHEN s.category='数学' THEN s.score ELSE 0 END) AS '数学',
SUM(CASE WHEN s.category='英语' THEN s.score ELSE 0 END) AS '英语',
SUM(s.score) AS '总分'
FROM score s
GROUP BY s.name