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 
	)
相关推荐
fire-flyer几秒前
ClickHouse系列(二):MergeTree 家族详解
大数据·数据库·clickhouse
米码收割机2 分钟前
【Android】基于安卓app的汽车租赁管理系统(源码+部署方式+论文)[独一无二]
android·汽车
Yana.nice8 分钟前
MySQL 三大日志(redo log、undo log、binlog)的区别和作用
数据库·mysql
XDHCOM17 分钟前
MySQL CASE WHEN语句应用实例:如何实现条件查询与数据转换?
数据库·mysql
Jul1en_18 分钟前
【Redis】常用命令及定时器实现思想
数据库·redis·缓存
流星雨在线22 分钟前
安卓使用 Startup 管理三方 SDK 初始化
android·startup
杰克尼22 分钟前
redis(day02-短信登录)
数据库·redis·缓存
jwn99923 分钟前
Laravel3.x:PHP框架的经典里程碑
android
知识分享小能手24 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB的分片管理(17)
数据库·学习·mongodb
lishutong100626 分钟前
基于 Perfetto 与 AI 的 Android 性能自动化诊断方案
android·人工智能·自动化