• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    关于SQL中PIVOT函数的使用方法详解

    发布者: 娅水9213 | 发布时间: 2025-6-20 09:09| 查看数: 72| 评论数: 0|帖子模式

    前言

    这篇文章给大家分享的是“pivot函数是什么,具体用法是怎样的”,希望这篇文章对你一定的参考价值和帮助
    提示:以下是本篇文章正文内容,下面案例仅供参考

    一、关于PIVOT函数


    1.什么是PIVOT函数

    在SQL中PIVOT函数又被称为行转列函数,该函数的作用就是将行转为列,使数据看起来更加直观明了

    2.它能实现什么样的效果

    PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合

    二、使用方法
    1. SELECT <非透视的列>,
    2.     [第一个透视的列],
    3.     [第二个透视的列],
    4.     ...
    5.     [最后一个透视的列]

    6. FROM
    7.    表名

    8. PIVOT
    9. (
    10.     <聚合函数>(<要聚合的列>)
    11. FOR

    12. [<包含要成为列标题的值的列>]
    13.     IN ( [第一个透视的列], [第二个透视的列],
    14.     ... [最后一个透视的列])
    15. ) AS <透视表的别名>
    16. <可选的 ORDER BY 子句>;

    17. pivot (聚合函数(要聚合的列) for <要旋转为行的列>  in (目标列)) as 目标表名
    复制代码
    三、使用前后的效果

    代码:
    1. if exists(select * from sys.databases where name='Student')
    2. drop database Student
    3. go
    4. create database Student
    5. go
    6. use Student
    7. create table students(
    8. ID int not null,
    9. Name varchar(50) not null,
    10. Subject varchar(50) not null,
    11. Grade int not null
    12. )
    13. insert into students values(1,'张三','语文',76)
    14. insert into students values(1,'张三','数学',85)
    15. insert into students values(1,'张三','英语',74)
    16. insert into students values(2,'李四','语文',89)
    17. insert into students values(2,'李四','数学',78)
    18. insert into students values(2,'李四','英语',98)

    19. select*from students
    20. select Name as 姓名,[语文],[数学],[英语] from students PIVOT(sum(Grade)for [Subject] in([语文],[数学],[英语])) as p order by ID
    复制代码
    使用前:

    使用后:


    总结

    关于SQL中行转列的方法还有很多,但是PIVOT函数能帮你节省很多的时间和代码,对此我觉得是比较好用的
    到此这篇关于SQL中PIVOT函数的使用方法的文章就介绍到这了,更多相关SQL中PIVOT函数使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/database/3104160u3.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表