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 
	)
相关推荐
A-刘晨阳1 小时前
AI原生时序数据库选型指南:从数据存储到智能决策的范式跃迁
数据库·时序数据库·ai-native
程序员陆业聪2 小时前
技术选型决策树:什么团队、什么项目该选什么框架 | 跨平台框架深度对决(4)
android
HalvmånEver3 小时前
MySQL的增删改查命令合集合集
数据库·sql·oracle
不剪发的Tony老师3 小时前
dblab:一款基于终端的交互式数据库客户端
数据库·sql
星辰徐哥3 小时前
Rust异步测试与调试的实践指南
android·java·rust
星河耀银海3 小时前
C++ 运算符重载:自定义类型的运算扩展
android·java·c++
xwz小王子4 小时前
Science Robotics基础模型正在改写机器人集群的“游戏规则”
数据库·人工智能·机器人
茉莉玫瑰花茶4 小时前
LangGraph 介绍
服务器·网络·数据库
阿巴斯甜4 小时前
Activity 之间大量数据传递有哪些方案?
android
倒霉蛋小马4 小时前
【Redis】利用Redis构造全局唯一ID
数据库