PIVOT 提供的语法比一系列复杂的 SELECT...CASE 语句中所指定的语法更简单和更具可读性。有关 PIVOT 语法的完整说明,请参阅 FROM (Transact-SQL)。
以下是带批注的 PIVOT 语法。
SELECT <非透视的列>,
[第一个透视的列] AS <列名称>,
[第二个透视的列] AS <列名称>,
...
[最后一个透视的列] AS <列名称>,
FROM
(<生成数据的 SELECT 查询>)
AS <源查询的别名>
PIVOT
(
<聚合函数>(<要聚合的列>)
FOR
[<包含要成为列标题的值的列>]
IN ( [第一个透视的列], [第二个透视的列],
... [最后一个透视的列])
) AS <透视表的别名>
<可选的 ORDER BY 子句>;
参考资料:
http://technet.microsoft.com/zh-cn/library/ms177410.aspx
create table tb(Name varchar(10),Class varchar(10),Scoure int)
insert into tb values('张三','语文',74)
insert into tb values('张三','数学',83)
insert into tb values('张三','物理',93)
insert into tb values('李四','语文',74)
insert into tb values('李四','数学',84)
insert into tb values('李四','物理',94)
go
select*from tb
select * from tb
pivot ( Max(Scoure) for Class in ([语文],[数学],[物理]) ) a
转换后运行结果:
Name 语文 数学 物理
------ ----------- ----------- -----------
李四 74 84 94
张三 74 83 93
分享到:
相关推荐
"枢纽表达式PIVOT和UNPIVOT的简单用法" 枢纽表达式PIVOT和UNPIVOT是SQL Server 2005中新增的关系运算符,用于...但是,需要注意的是,PIVOT和UNPIVOT的使用需要根据实际情况进行调整,以确保查询结果的正确性和效率。
pivot 与 unpivot 函数是SQL05新提供的2个函数 灰常灰常的实用
### Oracle 11g中的pivot和unpivot转换操作详解 #### 一、Pivot与Unpivot概述 在Oracle 11g中引入了两项新功能:`PIVOT` 和 `UNPIVOT`,这两项功能使得在SQL中进行数据的行列转换变得更加简单和直观。这些操作特别...
Pivot 和 UnPivot 是 SQL Server 2005 中引入的两个语法,用于实现行列转换。 Pivot Pivot 语法的主要作用是将列值旋转为列名,即行转列。其基本语法为: ``` SELECT * FROM table_source PIVOT (聚合函数(value_...
Oracle 10g 提供了多种方法来实现这种转换,包括使用PIVOT和UNPIVOT操作,以及自定义SQL查询等。在"ORACLE 10g 的行列转换(学生科目成绩)测试题"这个主题中,我们将重点探讨如何在实际场景中,如处理学生科目成绩...
SQL Server 2008 中数据透视(PIVOT)和数据逆透视(UNPIVOT)操作是用于转换表数据...在使用PIVOT和UNPIVOT时,需要充分理解这两种操作各自的特点和适用场景,以便于针对不同需求灵活运用,实现数据的有效转换和分析。
这种操作可以使用 PIVOT 和 UNPIVOT 语句来实现。 PIVOT 语句用于将行数据转换为列数据,即将某一列的值旋转为列名。其一般语法为: ``` table_source PIVOT (聚合函数(列) FOR 列 in (…)) AS P ``` 其中,table_...
除此之外,SQL Server 2005还增强了CTE(公用表表达式)功能,允许使用PIVOT和UNPIVOT运算符,这进一步提升了查询的灵活性和表达能力。CTE提供了一种方式,让开发者能够临时命名一个结果集,并且在查询中引用它。...
可以使用 PIVOT 和 UNPIVOT 关系运算符对表值表达式进行操作以获得另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来转换表值表达式,并在必要时对最终输出中所需的任何其余的列值执行聚合。...
4. **使用Pivot和Unpivot操作** 在数据库中,Pivot和Unpivot操作用于行列转换。虽然题目强调避免使用SQL,但在某些情况下,如果数据源是数据库,使用SQL进行转换可能更为高效。C#可以调用ADO.NET执行这样的查询,...
"6 表的高级查询和联合.ppt"可能包含更复杂的查询技术,比如使用UNION、INTERSECT和EXCEPT操作符合并查询结果,以及使用PIVOT和UNPIVOT进行数据透视和转换,这些对于数据分析和报告制作尤其有用。 总的来说,这个...
Oracle提供了多种方法来实现这一目标,包括使用Pivot和Unpivot操作,以及自定义的SQL查询技巧。 1. PIVOT操作:Oracle 11g开始引入了PIVOT关键字,它允许用户直接在SQL查询中将行数据转换为列数据。例如,假设有一...
- **数据透视和反向透视**: 使用PIVOT和UNPIVOT操作符对数据进行转换。 - **谓词**: 用于WHERE子句中的条件表达式。 - **递归查询**: 使用WITH RECURSIVE子句进行递归查询。 - **正则表达式**: 用于模式匹配的函数。...
从Oracle 11g版本开始,引入了PIVOT和UNPIVOT关键字,以支持显式的查询转换,即从行数据转换为列数据,或从列数据转换为行数据,进而生成交叉表格式的结果。这一技术尤其适用于报表生成,使得能够使用SQL语句针对...
此外,还将讨论集合操作(UNION, INTERSECT, EXCEPT)以及如何使用PIVOT和UNPIVOT进行数据透视和转换。 通过这个教程的学习,您可以逐步精通SQL Server,从数据库设计、表管理到复杂的数据查询和优化,全面提升您的...
2. **数据转换**:如何进行行列转换,如使用PIVOT和UNPIVOT操作。 3. **性能调试**:识别和解决慢查询的策略,包括查询分析和索引调整。 4. **安全性**:权限管理、角色和用户设置,以及防止SQL注入攻击的方法。 ...
此外,还会介绍如何使用CASE表达式进行条件判断,以及如何使用PIVOT和UNPIVOT操作进行数据转换。 在SQL的更新和删除操作方面,你会学习到INSERT语句用于插入新记录,UPDATE用于修改已有记录,而DELETE则用于删除...
SQL Server提供了许多巧妙的查询方式,比如使用INTERSECT、EXCEPT和UNION操作符来合并或比较结果集,以及使用PIVOT和UNPIVOT进行数据转换。通过巧用集合操作,可以实现更灵活的数据分析。 3. **经典SQL语句**: ...
- **透视转换**:了解如何使用PIVOT和UNPIVOT操作对数据进行转换,实现灵活的数据展示需求。 - **TOP和APPLY操作**:通过使用TOP子句限制结果集大小,并使用APPLY操作进行更高效的数据连接操作。 - **数据修改**...
7. **高级查询技巧**:使用PIVOT和UNPIVOT进行数据旋转,使用CROSS APPLY和OUTER APPLY进行复杂数据转换。 通过这两个CHM文件,学习者可以系统地了解和掌握SQL Server的基础知识和查询技能,结合实际代码讲解,将...