需求就是:
有这样一张表:至少三个字段:名称、支付方式、金额。要求统计出查询出的结果集包含两列,第一列是名称,第二列是每种支付方式金额总和,第二列要分别列出所有支付方式的支付总和。结果集示例如下:
思路就是先用group by查询出每个人每种支付方式的汇总分组记录,然后用行转列函数处理,方法不唯一,本人的仅供参考。
select k.name,group_concat(k.pay_type,':',k.sum) as expr from (select name,pay_type,sum(amount) as sum from payment group by name,pay_type) k group by k.name