sql - 将列转换为行值的表转置
问题描述
我有下表:
id purch_d7 purch_d30
1 10 25
2 5 15
我想把它转置/转成这种格式
id purchase_count purch_window
1 10 purch_d7
1 25 purch_d30
2 5 purch_d7
2 15 purch_d30
我将如何在 Vertica 中执行此操作?此外,如果想要将输出旋转/转置回原始视图,我该怎么做?
解决方案
你可以尝试使用UNION ALL
SELECT id,purch_d7 as purchase_count,'purch_d7' as purch_window FROM T
UNION ALL
SELECT id,purch_d30,'purch_d30' FROM T
推荐阅读
- python - python - 如何将像二十二这样的字符串转换为python中的数字?
- c++ - C++ 链接列表未解决的问题
- c++ - 我如何定义一个以结构为键的 QMap
- authentication - 在 Amplify 中使用管理员查询创建用户
- laravel - 数据库迁移后准备好的语句“pdo_stmt_00000005”不存在
- php - php中的排序数组
- html - 是否有 Web API 来检索自然属于表格行的单元格(对于单元格跨越多行的表格)?
- javascript - Node-Postgres UnhandledPromiseRejectionWarning:错误:查询必须具有文本或名称。既不提供也不支持
- linux - www-data python run sudo 命令作为另一个用户错误密码需要
- python - 无法使用 Selenium 更改 Firefox 的首选项