关于SQL中PIVOT函数的使用方法详解
前言
这篇文章给大家分享的是“pivot函数是什么,具体用法是怎样的”,希望这篇文章对你一定的参考价值和帮助
提示:以下是本篇文章正文内容,下面案例仅供参考
一、关于PIVOT函数
1.什么是PIVOT函数
在SQL中PIVOT函数又被称为行转列函数,该函数的作用就是将行转为列,使数据看起来更加直观明了
2.它能实现什么样的效果
PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合
二、使用方法
SELECT <非透视的列>,
[第一个透视的列],
[第二个透视的列],
...
[最后一个透视的列]
FROM
表名
PIVOT
(
<聚合函数>(<要聚合的列>)
FOR
[<包含要成为列标题的值的列>]
IN ( [第一个透视的列], [第二个透视的列],
... [最后一个透视的列])
) AS <透视表的别名>
<可选的 ORDER BY 子句>;
pivot (聚合函数(要聚合的列) for <要旋转为行的列> in (目标列)) as 目标表名三、使用前后的效果
代码:
if exists(select * from sys.databases where name='Student') drop database Student go create database Student go use Student create table students( ID int not null, Name varchar(50) not null, Subject varchar(50) not null, Grade int not null ) insert into students values(1,'张三','语文',76) insert into students values(1,'张三','数学',85) insert into students values(1,'张三','英语',74) insert into students values(2,'李四','语文',89) insert into students values(2,'李四','数学',78) insert into students values(2,'李四','英语',98) select*from students select Name as 姓名,[语文],[数学],[英语] from students PIVOT(sum(Grade)for [Subject] in([语文],[数学],[英语])) as p order by ID
使用前:

使用后:

总结
关于SQL中行转列的方法还有很多,但是PIVOT函数能帮你节省很多的时间和代码,对此我觉得是比较好用的
到此这篇关于SQL中PIVOT函数的使用方法的文章就介绍到这了,更多相关SQL中PIVOT函数使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
使用Navicat连接opengauss数据库完整步骤(详细图文)
Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设,下面这篇文章主要给大家介绍了关于使用Navicat连接opengauss数据库的完整步骤,需要的朋友可以参考下2024-02-02
powerdesigner for mysql脚本要求字段、表名有注释操作
在PowerDesigner中,可以通过修改DBMS设置为MySQL数据库添加字段和表名的注释,具体步骤包括编辑当前的DBMS设置,并在相应的Script选项下调整Column和Table的配置,本文给大家介绍powerdesigner for mysql脚本要求字段、表名有注释操作,感兴趣的朋友跟随小编一起看看吧2023-07-07


最新评论