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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Camstar CDO增加自定义字段

    Camstar CDO增加自定义字段本节讲述如何在Camstar原生CDO里加入自定义字段进入Designer,打开CDO页,找到要增加字段的CDO,打开,切换到Fields页,点击下面的Add按钮。在弹出的窗口中,输入相应的数据:DataType增加的字段的数据类型,字符串、整数、浮点数、Object等FieldType字段类型,描述字段的具体用处,不同类型的数据字段长度是不同的(比如字符串的长度)Name字段名称,也是数据库表里的默认字段名称Caption字段描述,也是在Modeling配置页面里对应字段的名称点

    2025年7月1日
    3
  • 在一台机器上搭建多个redis实例

    在一台机器上搭建多个redis实例

    2021年10月27日
    48
  • 6.线性表-1

    6.线性表-1

    2021年6月16日
    69
  • 最短路径问题—Dijkstra算法详解

    最短路径问题—Dijkstra算法详解前言Nobodycangobackandstartanewbeginning,butanyonecanstarttodayandmakeanewending.Name:WillamTime:2017/3/81、最短路径问题介绍问题解释:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:…

    2022年6月4日
    30
  • react router 路由守卫_React路由鉴权的实现方法「建议收藏」

    react router 路由守卫_React路由鉴权的实现方法「建议收藏」前言上一篇文章中有同学提到路由鉴权,由于时间关系没有写,本文将针对这一特性对vue和react做专门说明,希望同学看了以后能够受益匪浅,对你的项目能够有所帮助,本文借鉴了很多大佬的文章篇幅也是比较长的。背景单独项目中是希望根据登录人来看下这个人是不是有权限进入当前页面。虽然服务端做了进行接口的权限,但是每一个路由加载的时候都要去请求这个接口太浪费了。有时候是通过SESSIONID来校验登陆…

    2022年6月8日
    131
  • Mysql数据库insert into select 单表插入常量

    Mysql数据库insert into select 单表插入常量单表插入常量INSERTINTOtb1(col1,colx)SELECTcol1,valxFROMtb1其实本质还是INSERT INTO SELECT 的用法,只是把其他表化成了单表,把SELECT后的colx换成你想要添加的自定义常量valx就行了。

    2022年7月16日
    28

发表回复

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

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