
select name,
sum(if(subject='语文',grade,0) as 语文, sum(if(subject='数学',grade,0) as 数学,
sum(if(subject='英语',grade,0) as 英语
from scores
1. 利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL将汇总行标题显示...2. 利用SUM(IF()) 生成列 + UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Tot...
3. 利用SUM(IF()) 生成列,直接生成结果不再利用子查询 ...
4. 动态,适用于列不确定情况
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)