繁体   English   中英

在SQL Server中将数据透视表行按组列

Pivot Rows to Column By Group in SQL Server

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在寻找可以在SQL Server 2008中使用group by将行转为列的代码。

这是我的桌子:

Name   |  Stdy   |  Val
-------+---------+-------
Kunjan | Technic |  80
Kunjan | Sains   |  90
Kunjan | Sport   |  60
Shone  | Technic |  60
Shone  | Sains   |  80
Shone  | Sport   |  70
Peudd  | Technic |  85
Peudd  | Sains   |  75
Peudd  | Sport   |  90

我最终想要显示的是这样的(对于上面的数据):

Stdy    | Kunjan | Shone | Peudd
--------+--------+-------+-------
Technic |  80    |  60   |  85
Sains   |  90    |  80   |  75
Sport   |  60    |  70   |  90

任何帮助,将不胜感激。

提前致谢。

1 个回复

这可以使用PIVOT运算符完成

select  *
from    yourtable
        pivot 
        (
            max(Val)
            for Name in ([Kunjan], [Shone], [Peudd])
        ) p

或条件CASE语句。 有很多示例,只需对其进行搜索

编辑:动态案例

declare @sql    nvarchar(max),
        @col    nvarchar(max)

select  @col    = isnull(@col + ',', '') + Name
from    yourtable
group by Name

print   @col 

select  @sql    = 
'
select  *
from    youtable
        pivot 
        (
            max(Val)
            for Name in (' + @col + ')
        ) p
'

print   @sql
exec    sp_executesql @sql
1 SQL Server将数据透视表的行转换为列

我输入为 我需要的输出为: 我尝试了上面的查询,但是它不起作用,并且将不起作用,因为我正在尝试将多行转换为1列,这用Case是不可能的。 我必须尝试类似PIVOT的方法,但无法实现。 有什么帮助吗? ...

2 SQL Server组列作为行(枢轴?)

我在SQL Server 2008 R2中得到了此结果数据 我想根据ID将列移动到行中,这样我将收到以下结果: 有没有办法做到这一点? 我尝试了数据透视,但据我所知,我只能转换1列,在这种情况下,转换的列数并不多。 ...

4 SQL Server 透视/将列值映射到行

我已经对表进行了架构更改/改进,但我需要确保不会丢失任何现有数据,并且它会“迁移”到新架构并符合其设计。 现有架构设计如下: ShowChartX、ShowChartY 和 ShowChartZ 的列是 BIT(布尔值)类型。 我现在创建了一个独立的表格,用于保存每个图表的记录/参考。 每 ...

5 使用 Pivot 在 SQL Server 中将行转换为列

我是枢轴新手,我有一张如下所示的表格。 它有型号和组没有详细信息。 该表包含 10 个不同的组。 我正在尝试实现这样的结果集。 只想列出每个组下的所有模型。 我尝试使用此 SQL 查询,但在这里我部分得到了结果。 它只显示一行。 我不确定我在哪里。 请帮我整理一下。 ...

6 SQL Server:Group By和Pivot

我正在编写一个SQL Server查询来提取数据。 例如我的查询: 结果如下: 现在,我一直在质疑自己如何得到这样的结果: 我真的不关心这一年,我只想回到一个月。 ...

7 在SQL Server中进行透视和分组

我想做一个数据透视表来显示每个类别和每个客户的销售量,类别表是这样的: 当我对categorys表的所有元素进行简单的数据透视时,所有方法都可以正常工作,但是该表具有近600个不同的类别,因此结果不是很可读,现在我想要的是将2个第一位数字进行分组,结果将是是这样的:ILUMINACION ...

8 SQL Pivot列至行

[SQL Pivot从列到行] 当前数据结构 大家好,我正在尝试将表中的列转换为Row的要求,我能够将多个列值带到一列,但是不知道如何转置为行。 感谢您的帮助 ...

9 SQL Pivot函数将行分组

我正在尝试使用PIVOT转置表格。 这是我目前的代码: 这是我得到的结果: 我想要的是将第33&34行,第35&36行和第37&38行分组,以便它们看起来像这样: ...

10 包含3行的SQL Pivot表

我正在使用SQL2012。 我有下面的SQL表,其中显示了案例编号及其值。 案例编号始终以组的形式出现3个案例。 你能帮我摆桌子吗? 案件数超过一千。 预期结果: ...

2017-08-04 00:21:21 2 907   sql/ pivot
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM