sql - SQL,如何通过将行转换为列来使用表创建视图
问题描述
拜托我需要你的帮忙。我正在尝试在 SQL 中创建一个视图,首先如果我有这个表:
如何使用 select to 创建视图,该视图将为我提供如下表格:
这里的 ID 将自动递增。
我希望这很清楚。我很抱歉,但我尝试了很多来解决这个问题,我真的需要它,所以请大家帮助我。
非常感谢每一件事
解决方案
您想以某种方式对数据进行透视。您可以使用条件聚合以及row_number()
:
select seqnum,
max(case when po = 'A' then po end) as a,
max(case when po = 'B' then po end) as b,
max(case when po = 'C' then po end) as c,
max(case when po = 'D' then po end) as d,
max(case when po = 'E' then po end) as e
from (select t.*,
row_number() over (partition by po order by id) as seqnum
from t
) t
group by seqnum;
我会说在列中重复相同的值似乎有点奇怪。
推荐阅读
- android-studio - koltin 我了解 clickListener 功能
- linux - 将诸如 \t 和 \n 之类的格式字符添加到 JSON 字符串中,以便它们可以在 linux echo 命令中工作
- scala - 编写未包装的 json 数组 - Jackson
- python - 正则表达式匹配特定字符串后的多行
- java - 如何使用android中的回收器视图将事件放入日历中
- pandas - 索引时如何避免“系列不可调用错误”
- mysql - 为什么在 Gitpod 上连接 mysql 失败?
- html - box-shadow css 属性没有正确显示?
- vb.net - TextRenderer.MeasureText 为不同的宽度返回相同的高度
- linux - Ausearch不会转换文件