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 
	)
相关推荐
一个响当当的名号14 分钟前
lectrue9 索引并发控制
java·开发语言·数据库
liu****18 分钟前
4.Qt窗口开发全解析:菜单栏、工具栏、状态栏及对话框实战
数据库·c++·qt·系统架构
三水不滴30 分钟前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
企鹅侠客1 小时前
第35章—内核解析篇:Redis内存淘汰机制
数据库·redis
西柚小萌新1 小时前
【人工智能:Agent】--12.多智能体(二)
数据库
快乐非自愿1 小时前
【面试题】MySQL 的索引类型有哪些?
数据库·mysql·面试
naruto_lnq1 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
曹轲恒1 小时前
【Redis持久化核心】AOF/RDB通俗详解+多场景对比
数据库·redis·bootstrap
冉冰学姐2 小时前
SSM疫情期间学生作业线上管理系统55zmw(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·计算机毕设·ssm作业管理系统