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 
	)
相关推荐
Cyanto12 分钟前
深入MyBatis:CRUD操作与高级查询实战
java·数据库·mybatis
datascome35 分钟前
文章发布易优CMS(Eyoucms)网站技巧
数据库·经验分享·爬虫·数据采集·eyoucms·易优cms
小李飞飞砖1 小时前
Sophix、Tinker 和 Robust 三大主流 Android 热修复框架的详细对比
android
有想法的py工程师1 小时前
PostgreSQL 锁等待监控,查找等待中的锁
数据库
学不会就看1 小时前
Django--02模型和管理站点
数据库·oracle·django
←か淡定☆ ヾ2 小时前
SQL Server 2008R2 到 2012 数据库迁移完整指南
数据库·sql server
瀚高PG实验室2 小时前
Arcgis连接HGDB报错
数据库·arcgis·瀚高数据库
感觉不怎么会3 小时前
Android 12 - 部分相机横屏显示方案
android
IT小辉同学3 小时前
PostgreSQL 与 MySQL 获取字段注释并转换为驼峰命名教程
数据库·mysql·postgresql
xinghunzhiye20103 小时前
redis升级
数据库·redis·缓存