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 
	)
相关推荐
范特西林12 分钟前
代码的生成:AIDL 编译器与 Parcel 的序列化艺术
android
范特西林13 分钟前
深入内核:Binder 驱动的内存管理与事务调度
android
用户83071968408229 分钟前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
范特西林1 小时前
解剖麻雀:Binder 通信的整体架构全景图
android
范特西林1 小时前
破冰之旅:为什么 Android 选择了 Binder?
android
stark张宇2 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_2 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
奔跑中的蜗牛6662 小时前
一次播放器架构升级:Android 直播间 ANR 下降 60%
android
星辰员4 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
测试工坊5 小时前
Android 视频播放卡顿检测——帧率之外的第二战场
android