sql - 将 Rows 转置为 Column 。SQL Server 中的 2 个 Varchar 列
问题描述
将行转置为列。我Varchar
在 SQL Server 中有 2 列。
我不能使用数据透视,因为我不能在varchar
列上运行聚合。我有 2 列Name, Occupation
。只需要转置那些。
解决方案
您可以进行条件聚合:
select max(case when occupation = 'Doctor' then name end) as Doctor,
max(case when occupation = 'Actor' then name end) as Actor
from (select t.*, row_number() over (partition by occupation order by name) as grp
from table t
)
group by grp;
推荐阅读
- jquery - 单击父选项卡时如何默认打开子选项卡
- c# - 带有布尔值的 if 语句进入 switch 方法
- ios - 在 iOS 中更改用户密码时,MSGraphSDK 用户详细信息 API 回调没有响应
- java - 如何加密/解密 blueprint.xml 中的密码?
- excel - 在循环中根据单元格值隐藏行
- css - Chrome 正在破坏布局,我该如何解决?
- excel - 文件打开时如何阻止单元格?
- file - 使用 perl 将文本文件转换为二进制文件的问题
- java - Rest API 获取 POST 请求而不是 GET
- php - 在编辑订单页面上的自定义 Woocommerce 订单号下添加 order_id