Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySql UNION 一行转多列

MySql UNION 一行转多列的实现示例

作者:Xiaoweidumpb

在MySQL命令行中,有时候我们会遇到一行的数据需要以多列的形式呈现的情况,本文就详细介绍了一下一行转多列的实现示例,具有一定的参考价值,感兴趣的可以了解一下

背景:DataEase饼图有特定格式,并且报表要求全部使用SQL语句获取数据

原先数据格式如下,需要行转换列

转换后结果:

原理

字段1,target作为一个不存在的字段,用于命名。

字段2,count字段是关键,将查询结果命名为统一名称,实现行转列。

UNION 拼接三句一样的SQL语句

更改后SQL

( 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 
	)

 到此这篇关于MySql UNION 一行转多列的实现示例的文章就介绍到这了,更多相关MySql UNION 一行转多列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文