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 
	)
相关推荐
5G丶1 分钟前
ThinkPHP 集群部署完整指南
数据库·php
刘~浪地球24 分钟前
数据库与缓存--MySQL 高可用架构设计
数据库·mysql·缓存
知识分享小能手27 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB的了解应用程序的动态(18)
数据库·学习·mongodb
oradh28 分钟前
Oracle数据类型概述(一)
数据库·oracle·oracle基础·oracle入门基础·oracle数据类型
开发者如是说38 分钟前
可能是最好用的多语言管理工具
android·前端·后端
流星雨在线39 分钟前
[汇总]Android Framework相关
android·framework
小兜全糖(xdqt)1 小时前
Ubuntu22.04安装最新版本redis
数据库·redis·缓存
小红的布丁1 小时前
Reactor 模型详解:单 Reactor、主从 Reactor 与 Netty 思想
android·java·开发语言
运维老郭1 小时前
MySQL 主从延迟根因诊断法:从现象到本质的全链路排查指南
运维·mysql
cch89181 小时前
Laravel与ThinkPHP5.x核心对比
android