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 
	)
相关推荐
冷凝娇13 小时前
【MySQL】2026总结(二)
数据库·mysql
_阿南_13 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
aaa小葵14 小时前
LangGraph
数据库·人工智能
wWYy.15 小时前
Mysql:Read View
数据库·mysql
—Miss. Z—16 小时前
存储过程、用户定义函数、触发器和游标
数据库·mysql
小码农 - 初16 小时前
MySQL 的约束
mysql
文人sec16 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
刘洋浪子17 小时前
AndroidStudio保存日志菜单
android
朱涛的自习室17 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能
Dear~yxy17 小时前
MySQL企业级实战
数据库·mysql