MySQL 查询到的结果集是以表格的形式呈现的,每行代表一条记录,每列代表一种属性。如果需要将结果集纵向展示,可以使用 MySQL 的 PIVOT 函数或者自定义查询语句实现。

其中,PIVOT 函数是 MySQL 8.0 版本新增的函数,用于将行转换为列。例如,将以下表格:

| id | name | gender | |----|------|--------| | 1 | Tom | M | | 2 | Lucy | F | | 3 | Jack | M |

使用 PIVOT 函数将 'gender' 列转换为列名,可以得到以下结果:

| id | name | M | F | |----|------|-----|-----| | 1 | Tom | M | | | 2 | Lucy | | F | | 3 | Jack | M | |

具体使用方法可以参考 MySQL 官方文档。

另外,如果需要自定义查询语句,可以使用 UNION ALL 将每列数据作为一条记录返回,然后使用 GROUP BY 将同一列的数据汇总到一起。例如,将以上表格纵向展示,可以使用以下查询语句:

SELECT 'id' AS col_name, CAST(id AS CHAR) AS col_value FROM table_name
UNION ALL
SELECT 'name' AS col_name, name AS col_value FROM table_name
UNION ALL
SELECT 'gender' AS col_name, gender AS col_value FROM table_name
GROUP BY col_name

这样可以得到以下结果:

| col_name | col_value | |----------|-----------| | id | 1 | | id | 2 | | id | 3 | | name | Tom | | name | Lucy | | name | Jack | | gender | M | | gender | F |

需要注意的是,以上方法虽然可以实现结果集纵向展示,但是会导致查询语句变得冗长和复杂,不利于维护和优化。因此,建议尽量使用 PIVOT 函数或者其他更为高效的方法。

MySQL 查询结果集纵向展示 - PIVOT 函数与自定义查询方法

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

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