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 
	)
相关推荐
studyForMokey16 分钟前
【Android面试】Fragment生命周期专题
android·microsoft·面试
熬夜的咕噜猫24 分钟前
MySQL主从复制与读写分离
网络·数据库·mysql
道清茗25 分钟前
【MySQL知识点问答题】 备份技术、Invisible Indexes 和直方图的应用
数据库·mysql
芒果披萨25 分钟前
sql存储过程
java·开发语言·数据库
J超会运30 分钟前
OpenEuler MySQL主从复制+MyCat读写分离实战
mysql·读写分离·主从复制
jnrjian32 分钟前
RAC 去除node的建议 dbca 和手动方法
数据库·oracle
TlYf NTLE43 分钟前
redis分页查询
数据库·redis·缓存
会飞的大可1 小时前
Docker容器项目无法访问MySQL的解决策略
mysql·docker·容器
翻斗包菜1 小时前
MySQL 全量、增量备份与恢复实战指南(含 mysqldump + binlog + XtraBackup)
数据库·oracle
|华|1 小时前
MySQL主从复制与读写分离
数据库·mysql