利用SUM(IF()) 生成列 + UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
运行结果:
5、利用SUM(IF()) 生成列,直接生成结果不再利用子查询
1 2 3 4 5 6 7 8 |
|
运行结果:
6、动态,适用于列不确定情况
1 2 3 4 5 6 7 8 9 |
|
运行结果:
7、合并字段显示:利用group_concat()
1 2 |
|
运行结果:
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。
比较抽象,难以理解。通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。
结论:group_concat()函数可以很好的建属于同一分组的多个行转化为一个列。