MySql UNION 一行转多列

背景:DataEase饼图有特定格式,并且报表要求全部使用SQL语句获取数据

原先数据格式如下,需要行转换列

转换后结果:

原理

字段1,target作为一个不存在的字段,用于命名。
字段2,count字段是关键,将查询结果命名为统一名称,实现行转列。
UNION 拼接三句一样的SQL语句

更改后SQL

bash 复制代码
( SELECT "车位总数" AS 'target', total_num AS "count" FROM park_free_space_num ORDER BY report_time DESC LIMIT 1 ) UNION 
( SELECT "已使用车位" AS 'target', (total_num - free_space_num) AS "count" FROM park_free_space_num ORDER BY report_time DESC LIMIT 1 ) UNION
(
	SELECT
		"剩余车位" AS 'target',
		free_space_num AS "count" 
	FROM
		park_free_space_num 
	ORDER BY
		report_time DESC 
	LIMIT 1 
	)
相关推荐
swIn KWAL11 分钟前
【MySQL】环境变量配置
数据库·mysql·adb
shark222222215 分钟前
【JOIN】关键字在MySql中的详细使用
数据库·mysql
RATi GORI15 分钟前
MySQL中的CASE WHEN语句:用法、示例与解析
android·数据库·mysql
坊钰20 分钟前
Java 死锁问题及其解决方案
java·开发语言·数据库
MoFe11 小时前
【Mysql】创建IP授权用户并授权
android
onebound_noah1 小时前
【实战教程】如何通过API快速获取淘宝/天猫商品评论数据(含多语言Demo)
大数据·数据库
史蒂芬_丁2 小时前
Qt, C++数据类型扩展问题
数据库·c++·qt
lpfasd1232 小时前
MariaDB Docker容器权限配置问题分析与解决方案
数据库·docker·mariadb
冬奇Lab2 小时前
Camera2 API架构基础:Android视频系统的大门
android·音视频开发·源码阅读