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 
	)
相关推荐
独自破碎E13 小时前
【大顶堆+小顶堆】数据流中的中位数
android
l1t13 小时前
duckdb数据库CROSS JOIN LATERAL 中使用 EXISTS子查询的一个bug
数据库·bug
wregjru13 小时前
【C++】2.10智能指针详解
数据库·redis·mysql
2401_8582861113 小时前
从Redis 8.4.0源码看快速排序(1) 宏函数min和swapcode
c语言·数据库·redis·缓存·快速排序·宏函数
得一录13 小时前
Android AIDL 在智能体和IOT设备中的使用
android·人工智能·物联网·aigc
茁壮成长的露露14 小时前
MongoDB单机安装
数据库·mongodb
qq_4061761414 小时前
JS防抖与节流:从原理到实战的性能优化方案
服务器·数据库·php
a***592614 小时前
MySQL数据可视化实战指南
数据库·mysql·信息可视化
Maggie_ssss_supp14 小时前
LINUX-MySQL多表查询
数据库·mysql
lxp19974114 小时前
Mysql短课题全手稿
数据库·mysql