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 
	)
相关推荐
雪碧聊技术1 分钟前
组合查询(union)
数据库·sql
杨云龙UP8 分钟前
ODA运维实战:Oracle 19c YJXT PDB表空间在线扩容全过程_20260503
linux·运维·服务器·数据库·oracle
BENA ceic16 分钟前
Spring 的三种注入方式?
java·数据库·spring
2401_8955213416 分钟前
MySQL中的count函数
数据库·mysql
雪碧聊技术17 分钟前
IO流-07:缓冲流
数据库
.小小陈.26 分钟前
MySQL 入门到实战:从基础概念到核心存储引擎
数据库·mysql
IT邦德34 分钟前
Oracle 26ai 首发季度补丁 23.26.2.0.0 来了!单机版升级
数据库·oracle
yoyo_zzm37 分钟前
Laravel10.x新特性全解析
数据库·mysql·架构
许彰午44 分钟前
CacheSQL(五):桥接篇
java·数据库·缓存·系统架构
七夜zippoe1 小时前
# DolphinDB分区策略:RANGE分区详解
数据库·策略·分区·range·dolphindb