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 
	)
相关推荐
csj508 分钟前
安卓基础之《(18)—内容提供者(4)在应用之间共享文件》
android
小句20 分钟前
SQL中JOIN语法详解 GROUP BY语法详解
数据库·sql
尤老师FPGA25 分钟前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十五讲)
android·java·ui
阿杰 AJie1 小时前
MySQL 里给表添加索引
数据库·mysql
昊昊该干饭了1 小时前
一个真实查询需求如何从表设计走到高效 SQL
数据库·sql
北辰当尹2 小时前
xml基础
android·xml
龙之叶2 小时前
【Android Monkey源码解析四】- 异常捕获/页面控制
android·windows·adb·monkey
Ha_To2 小时前
2026.1.20 SQL Server命令
数据库
智在碧得2 小时前
碧服打造DataOps全链路闭环,定义大数据工程化发布新标杆
大数据·网络·数据库
IvorySQL3 小时前
PostgreSQL 性能:云端与本地的延迟分析
数据库·postgresql