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 
	)
相关推荐
升职佳兴3 分钟前
SQL 窗口函数入门教程基础篇
数据库·sql
dreams_dream18 分钟前
MySQL 主从复制(小白友好 + 企业级)
android·数据库·mysql
XLYcmy23 分钟前
智能体大赛 技术架构 数据根基层
数据库·ai·llm·api·agent·幻觉·万方
014-code30 分钟前
MySQL 事务隔离级别
java·数据库·mysql
Je1lyfish38 分钟前
CMU15-445 (2026 Spring) Project#1 - Buffer Pool Manager
linux·数据库·c++·后端·链表·课程设计·数据库架构
Re.不晚1 小时前
Redis——哨兵机制
数据库·redis·bootstrap
城东米粉儿1 小时前
Android PLT Hook 笔记
android
代码星辰1 小时前
MySQL 面试题——深度分页优化
数据库·mysql·覆盖索引·深度分页
城东米粉儿1 小时前
leakcanary原理
android
龙之叶1 小时前
Android ADB Shell 常用命令
android·adb