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函数进行求和操作,以便在每个日期下进行汇总。

执行该查询语句后,将得到一个纵向展示的结果集,其中每一行代表一个日期,每一列代表一个产品,每个单元格中的数据表示该日期下该产品的销售额。

MySQL结果集纵向展示:使用PIVOT函数实现数据透视

原文地址: https://www.cveoy.top/t/topic/oJYK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录