分组/数据透视表

JP杰克

我正在尝试在不使用聚合函数的情况下对表进行透视

我尝试了 2 个枢轴来获取最大和最小名称,但它不起作用

Declare @test table()
   Name varchar(30) not null,
   Grade varchar(10) not null,
   Subject varchar(10) not null
)

insert into @test values('Ami', 'HD', 'Java')
insert into @test values('Ami', 'D', 'C++')
insert into @test values('Bec', 'D', 'Java')
insert into @test values('Bec', 'P', 'C++')
insert into @test values('Bec', 'Pa', 'C++')

select * from @test

select Name, Max(case Subject when 'C++'  then Grade end) 'C++',
             Max(case Subject when 'Java' then Grade end) 'Java'
from @test
group by Name



SELECT * FROM
(
select Name, grade, subject from @test
)x
PIVOT
(
    MIN(grade)
    for subject IN ([JAVA],[C++])
)p

这是我的输出 输出

我的例外输出: 异常输出

拉努

您可以使用 CTE 添加一个ROW_NUMBER值,然后将其添加到您的GROUP BY. 我还将逻辑更改为交叉表,因为它们比内置PIVOT运算符灵活得多

WITH CTE AS(
    SELECT [Name],
           Grade,
           Subject,
           ROW_NUMBER() OVER (PARTITION BY [Name], Subject ORDER BY Grade) AS RN
    FROM @test t)
SELECT [Name],
       MAX(CASE Subject WHEN 'C++' THEN Grade END) AS [C++],
       MAX(CASE Subject WHEN 'Java' THEN Grade END) AS [Java]
FROM CTE
GROUP BY [Name],
         RN;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫数据透视表

来自分类Dev

如何使用熊猫按周分组数据透视表结果?

来自分类Dev

与数据透视表连接

来自分类Dev

数据透视表SQL

来自分类Dev

取消透视表数据

来自分类Dev

数据透视表还是大熊猫分组依据?

来自分类Dev

将分组依据转换为数据透视表

来自分类Dev

熊猫:分组依据和数据透视表的区别

来自分类Dev

Laravel雄辩的分组与数据透视表和关系

来自分类Dev

在Python Pandas数据透视表中对列进行分组

来自分类Dev

分组数据透视表

来自分类Dev

熊猫:数据透视表

来自分类Dev

熊猫数据框数据透视表和分组

来自分类Dev

没有分组索引的熊猫数据透视表

来自分类Dev

如何使用数据透视表或分组表划分这些值

来自分类Dev

熊猫数据透视表

来自分类Dev

PosrgreSQL数据透视表

来自分类Dev

LibreOffice数据透视表按月分组

来自分类Dev

将包含空白的数据透视表中的值分组

来自分类Dev

取消透视表数据

来自分类Dev

数据透视表未按预期将结果分组

来自分类Dev

数据透视表中重叠分组的汇总

来自分类Dev

如何通过分组数据制作数据透视表

来自分类Dev

在Python Pandas数据透视表中对列进行分组

来自分类Dev

MySQL-动态数据透视表分组问题

来自分类Dev

数据透视表数据

来自分类Dev

数据透视表使用定性数据对多个列进行分组

来自分类Dev

分组依据 - 不同的数据透视表

来自分类Dev

带分组的 SQL 数据透视表