sql server之pivot函数「建议收藏」

PIVOT用于将列值旋转为列名(即行转列)今天整理以前的笔记时,发现以前在PPD实习的时候遇到一个场景,感觉很实用所以想记录一下,说不定以后能用到,话不多说,直接上案例:–表table1问题编号时间节点listing_sizeTotalAmount1.120140-1k623.9001.12014…

大家好,又见面了,我是你们的朋友全栈君。

PIVOT用于将列值旋转为列名(即行转列)   
       今天整理以前的笔记时,发现以前在PPD实习的时候遇到一个场景,感觉很实用所以想记录一下,说不定以后能用到,话不多说,直接上案例:
--表table1
问题编号  时间节点 listing_size  TotalAmount
 1.1      2014      0-1k        623.900
 1.1      2014      10k-50k      62390 
 1.1      2014      1k-5k       3239.00
 1.1      2014       50k+        623900
 1.1      2014      10k-50k       12500
 1.1      2014      5k-10k        6239 
 1.1      2014      5k-10k        8546
 1.1      2014      5k-10k        6548

现在想将其转换为如下场景:

 问题编号 时间节点  [0-1k],[1k-5k],[5k-10k],[10k-50k],[50k+]
  1.1    2014    623.9   ***     ***      ***       ***

代码实现如下:

 select 问题编号,时间节点,[0-1k],[1k-5k],[5k-10k],[10k-50k],[50k+]
  from table1
  PIVOT
   (
     SUM (TotalAmount) for listing_size in ([0-1k],[1k-5k],[5k-10k],[10k-50k],[50k+])
   )tbl

由于现在主要用hive导致很少用sql server了,所以没有运行环境了,但是这个案例绝对可以运行成功~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126000.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA学习篇–javaweb之Filter具体解释[通俗易懂]

    JAVA学习篇–javaweb之Filter具体解释

    2022年1月31日
    42
  • mxgraph进阶(二)mxgraph的初步介绍与开发入门

    mxgraph进阶(二)mxgraph的初步介绍与开发入门mxgraph 的初步介绍与开发入门前言由于小论文实验需求 需要实现根据用户日志提取出行为序列 然后根据行为序列生成有向图的形式 并且连接相邻动作的弧上标有执行此次相邻动作的频次 为此 自己想到了 mxGraph 遂决定学习之 官网 http www jgraph com Demo http jgraph github io mxgraph javascri

    2025年9月30日
    5
  • linux跨网段实现内网互通_docker跨主机通信

    linux跨网段实现内网互通_docker跨主机通信1.简介TCP协议规定只有处于同一个网段的IP才能实现互通,如果处于不同网段,可以配置一台双网卡机器为网关然后指定路由线路实现跨网段访问。实现思路:将双网卡服务器作为一个代理服务器,实现双向网关的一个功能如上图所示,Proxy作为双向网关Client如果要实现Server的互通,如果Client和Server在同一个子网段可以直接ping同,但是如果不在同一个网段,Client就会先去找其网关,再由其网关寻找Server,对于Server也是这样。2.实现方案2.1代理1.开启数据包的转发功

    2025年10月26日
    6
  • linux怎样用jps命令_hadoopjps只有五个

    linux怎样用jps命令_hadoopjps只有五个前言:在网上有好多说是以root身份vi/etc/profile,然后在下面加一行exportPATH="usr/java/jdk160_05/bin:$PATH"(其中jdk160_05是你的安装目录,依你自己的安装情况所决定),然后source/etc/profile即可解决我觉得这是当你自己安装jdk后jps命令不好使时可以这样解决,但是经过我试验你自己安装jdk成功后(如:在解压jd…

    2026年2月5日
    3
  • 数据仓库中拉链表的实现程序_拉链表中统计90天数据

    数据仓库中拉链表的实现程序_拉链表中统计90天数据在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。拉链表适用于以下几种情况吧数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实,不仅浪费了存储空间,有时可能业务统计也有点麻烦,这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。一般在数仓中通过增加begi…

    2022年10月16日
    3
  • Springboot学习笔记【持续更新中】

    Springboot学习笔记【持续更新中】

    2021年7月12日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号