mysql - 在 MySQL 报告中为漏斗报告格式化数据
问题描述
我正在寻找一种为漏斗可视化创建 MySQL 报告的方法。
所以我的输入是一个询问项目的查询。像项目 ID 123456
FROM projects WHERE ID = 123456
结果:
+---------+--------+-----+----------+------+
| Project | Income | Tax | Payments | Rent |
+---------+--------+-----+----------+------+
| 123456 | 2500 | 50 | 250 | 350 |
+---------+--------+-----+----------+------+
对于漏斗,我需要如下报告:
+------+----------+-------+
| Step | Name | Value |
+------+----------+-------+
| 1 | Income | 2500 |
| 2 | Tax | 50 |
| 3 | Payments | 250 |
| 4 | Rent | 350 |
+------+----------+-------+
是否有一种 SQL 方法可以将我的查询内容放入新列(步骤、名称、值)。
谢谢
解决方案
您可以使用union all
unpivot 您的表:
select *
fom (
select 1 step, 'Income' name, Income value from projects where project = 123456
union all select 2, 'Tax', Tax from projects where project = 123456
union all select 3, 'Payments', Payments from projects where project = 123456
union all select 4, 'Rent', Rent from projects where project = 123456
)
order by step
推荐阅读
- amazon-web-services - AWS Codebuild 未更新 S3 中的工件
- sql - 如何使用 CTE 按两个表分组
- .net - Inferno - SuiteB.Encrypt 每次生成不同的字节数组
- swift - UIToolBar 设置 isEnabled 从其他 viewControllers
- c++ - getline 设置故障位以及 eof
- r - 如何使用 R 清洁城市和州(全称和缩写)
- reactjs - 如何整合外部反应
- java - java容器对象交换数组方法
- javascript - 我的两个 Jquery 脚本相互干扰
- python - Tensorflow seq2seq 聊天机器人总是给出相同的输出