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 
	)
相关推荐
yuweiade2 分钟前
Redis服务安装自启动(Windows版)
数据库·windows·redis
Android系统攻城狮13 分钟前
Android tinyalsa深度解析之pcm_params_get调用流程与实战(一百六十二)
android·pcm·tinyalsa·android hal·audio hal
执笔画情ora19 分钟前
PG数据库管理-体系结构
数据库
tant1an24 分钟前
Spring Boot 基础入门:从核心配置到 SSMP 整合实战
java·数据库·spring boot·sql·spring
zh路西法29 分钟前
【C语言简明教程提纲】(四):结构体与文件定义和操作
android·c语言·redis
常利兵1 小时前
Jetpack Compose 1.8 新特性来袭,打造丝滑开发体验
android
泯仲1 小时前
从零起步学习MySQL 第十章:深入了解B+树及B+树的性能优势
b树·学习·mysql
牢七1 小时前
百家cms 审计 未完成
android·ide·android studio
hjxu20161 小时前
【 MySQL 速记5】插入
android·数据库·mysql
一个处女座的程序猿O(∩_∩)O2 小时前
性能调优实战:金仓数据库连接条件下推原理与案例拆解
数据库·oracle