MySQL结果集纵向展示:使用PIVOT函数实现数据透视
MySQL查询到的结果集默认是横向展示的,即每一行是一个记录,每一列是一个字段。如果需要将结果集纵向展示,可以使用MySQL的PIVOT函数。
PIVOT函数可以将查询结果中的一列数据转化为多列,每一列以该列中的唯一值作为列名,行数据则根据指定的聚合函数进行汇总。
以下是一个示例:
假设有一个表格名为sales,包含以下字段:date、product、sales_amount。
要将每个产品在每个日期的销售额纵向展示,可以使用如下查询语句:
SELECT
date,
SUM(CASE WHEN product = 'Product A' THEN sales_amount ELSE 0 END) AS 'Product A',
SUM(CASE WHEN product = 'Product B' THEN sales_amount ELSE 0 END) AS 'Product B',
SUM(CASE WHEN product = 'Product C' THEN sales_amount ELSE 0 END) AS 'Product C'
FROM sales
GROUP BY date;
该查询语句中,使用了三个CASE语句来将每个产品的销售额转化为三列数据,分别对应产品A、B和C。同时,使用了SUM函数进行求和操作,以便在每个日期下进行汇总。
执行该查询语句后,将得到一个纵向展示的结果集,其中每一行代表一个日期,每一列代表一个产品,每个单元格中的数据表示该日期下该产品的销售额。
原文地址: https://www.cveoy.top/t/topic/oJYK 著作权归作者所有。请勿转载和采集!