Pivot Rows to Columns 考虑到列名和值列 SQL
Posted
技术标签:
【中文标题】Pivot Rows to Columns 考虑到列名和值列 SQL【英文标题】:Pivot Rows to Columns considerate Column Name and Value Columns SQL 【发布时间】:2021-03-04 02:02:07 【问题描述】:我有下一个数据集(仅使用黄色单元格)。只考虑周到,例如获取列 iemitidos:
下一张图片有我需要的结果:
【问题讨论】:
请不要使用图片显示表格,并且是您唯一的表格信息来源,请使用纯文本或表格降价并包含一些DDL。 【参考方案1】:我无法发明任何更聪明的东西(对于 MS SQL)。这对你有用吗?
declare
@t table (f1 varchar (20), dt date, f2 int, f3 int, f4 int)
insert into @t
values
('ACS1', '2021-09-01',1727, 938, 0),
('ACS2', '2021-09-01',1513, 676, 0),
('ACS1', '2021-09-10',1759, 326, 10),
('ACS2', '2021-09-10',1524, 265, 15)
;with cte
as (
select row_number() over (partition by f1 order by (select dt)) rn, * from @t
)
select
t1.f1, t1.f2, t2.f2, t1.f3, t2.f3, t1.f4, t2.f4
from cte t1
cross join cte t2
where t1.f1=t2.f1
and t1.f2!=t2.f2
and t1.rn=1
输出:
f1 f2 f2 f3 f3 f4 f4
ACS1 1727 1759 938 326 0 10
ACS2 1513 1524 676 265 0 15
【讨论】:
感谢您的帮助以上是关于Pivot Rows to Columns 考虑到列名和值列 SQL的主要内容,如果未能解决你的问题,请参考以下文章
Using iloc, loc, & ix to select rows and columns in Pandas DataFrames
leetcode1072. Flip Columns For Maximum Number of Equal Rows
是否可以查询 SQL Pivot 报告并将输出连接到另一个 select 语句中?