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 
	)
相关推荐
不剪发的Tony老师6 小时前
Noir:一款键盘驱动的现代化数据库管理工具
数据库·sql
用户41659673693556 小时前
nextlib 项目架构与深度技术指南 (Architecture & Technical Master Guide)
android
aq55356007 小时前
Laravel10.x重磅升级,新特性一览
android·java·开发语言
.柒宇.7 小时前
MySQL双主同步
linux·数据库·mysql·docker
Trouvaille ~7 小时前
【MySQL篇】数据类型:存储数据的基础
android·数据库·mysql·adb·字符集·数据类型·基础入门
一 乐7 小时前
酒店预订|基于springboot + vue酒店预订系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·酒店预订系统
光泽雨8 小时前
UNION 和 UNION ALL 作用
数据库·sql
heimeiyingwang9 小时前
【架构实战】SQL调优实战:从执行计划到索引优化
数据库·sql·架构
恼书:-(空寄9 小时前
分库分表风险应对手册(生产实战版)
数据库·分库分表
2401_885885049 小时前
开发视频短信接口好开发吗?图文视频短信接口对接教程
android·音视频