我有一张如下的桌子:
+-----------+------------+--------+ | Col1 | Col2 | Col3 | +-----------+------------+--------+ | 12345678 | FirstName | John | | 12345678 | LastName | Smith | | 987456321 | LastName | Clancy | | 987456321 | MiddleName | T | | 987456321 | Height | 176cm | | 654125878 | FirstName | Tan | | 654125878 | Weight | 150lb | +-----------+------------+--------+
如何将其转换为:
+-----------+-----------+------------+----------+--------+--------+ | ID | FirstName | MiddleName | LastName | Height | Weight | +-----------+-----------+------------+----------+--------+--------+ | 12345678 | John | null | Smith | null | null | | 987456321 | null | T | Clancy | 176cm | null | | 654125878 | Tan | null | null | null | 150lb | +-----------+-----------+------------+----------+--------+--------+
我认为条件聚合可以实现这一点。
假设您不需要动态
Select ID = Col1
,FirstName = max(case when Col2='FirstName' then Col3 else null end)
,MiddleName = max(case when Col2='MiddleName ' then Col3 else null end)
,LastName = max(case when Col2='LastName ' then Col3 else null end)
,Height = max(case when Col2='Height' then Col3 else null end)
,Weight = max(case when Col2='Weight' then Col3 else null end)
From YourTable
Group By Col1
如果你需要动力
Declare @SQL varchar(max) = Stuff((Select Distinct ',' + QuoteName([Col2]) From Yourtable Order by 1 For XML Path('')),1,1,'')
Select @SQL = '
Select [Col1] as ID ,' + @SQL + '
From YourTable
Pivot (max(Col3) For [Col2] in (' + @SQL + ') ) p'
Exec(@SQL);
如果有帮助,动态Pivot的生成SQL如下:
Select [Col1] as ID ,[FirstName],[Height],[LastName],[MiddleName],[Weight]
From YourTable
Pivot (max(Col3) For [Col2] in ([FirstName],[Height],[LastName],[MiddleName],[Weight]) ) p
我有以下代码,希望使用Java8将列表转换为。 当我尝试将列表中的单个值映射为映射的键时,我得到了一个错误。
我有以下Python数据帧: 我想:
我尝试在中使用,但它将聚合函数作为参数,我不想提供。 我怎样才能做到这一点。
我有这样的数据框 输出: . 输出: 我想分组的数据'ChannelPartnerID',因为我想合并数据的唯一值的唯一值在'ChannelPartnerID'和转换'品牌'列值为列包含销售价格为每一列 我希望它像这样输出:
问题内容: 我是Python的新手,需要将列表转换为字典。我知道我们可以将元组列表转换为字典。 这是输入列表: 并且我想将此列表转换为元组列表(或直接转换为字典),如下所示: 我们如何在Python中轻松做到这一点? 问题答案: 您想一次将三个项目分组吗? 您想一次分组N个项目吗?
我有一个这样的表,这个表中的所有用户只有两个特性 我想转换为