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 语句中?

网格系统container rows 与 columns

SQL Pivot 和 Distinct from new Columns

Python Pandas Group by Count Pivot of multiple columns