pivot sqlserver 条件_SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行
PIVOT函数,行转列
PIVOT函数的格式如下
PIVOT(([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]))
就是我们使用的SUM,COUNT,AVG等Sql聚合函数,也就是行转列后计算列的聚合方式。
[聚合列值]要进行聚合的列名
[行转列前的列名]这个就是需要将行转换为列的列名。
[行转列后的列名]这里需要声明将行的值转换为列后的列名,因为转换后的列名其实就是转换前行的值,所以上面格式中的[行转列后的列名1],[行转列后的列名2],[行转列后的列名3],......[行转列后的列名N]其实就是[行转列前的列名]每一行的值。
select * from (select 合同号,库房,项数 from Book) as a
pivot(sum(项数字段) FOR [库房字段] in([晋和],[宇培],[富宝])) as b
UNPIVOT函数,列转行
UNPIVOT函数的格式如下:
UNPIVOT([转换为行的列值在转换后对应的列名] for [转换为行的列名在转换后对应的列名] in ([转换为行的列1],[转换为行的列2],[转换为行的列3],...[转换为行的列N]))
[转换为行的列值在转换后对应的列名]这个是进行列转行的列其数据值在转换为行后的列名称
[转换为行的列名在转换后对应的列名]这个是进行列转行的列其列名在转换为行后的列名称
[转换为行的列]这个是声明哪些列要进行列转行
with PIVOT_Table as
(
select *
from ShoppingCart as C
PIVOT(count(TotalPrice) FOR [Week] IN([1],[2],[3],[4],[5],[6],[7])) AS T
)
select * from PIVOT_Table UNPIVOT([RowCount] for [Week] in ([1],[2],[3],[4],[5],[6],[7])) as T
pivot sqlserver 条件_SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行相关推荐
- pivot sqlserver 条件_行转列之SQLSERVERPIVOT与用法详解
在数据库操作中,有些时候我们遇到需要实现"行转列"的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIM ...
- 快速排序 python菜鸟教程-NumPy 排序、条件刷选函数
NumPy 排序.条件刷选函数 NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法 ...
- SQLServer常用的字符串函数梳理
今天给大家分享一下SQLServer常用的字符串函数知识笔记,希望对大家能有所帮助! 1.ASCII(字符串表达式) 作用:返回表达式最左侧字符串的ASCII代码值. 示例:SELECT ASCII( ...
- SQLServer常用的配置函数笔记
今天给大家分享一下SQLServer常用的配置函数知识,希望对初学者能有所帮助! 1.@@DATEFIRST @@Datefirst返回值tinyint 说明:datefirst指一周中的第一天,英语 ...
- sqlserver oracle对比,sqlserver和oracle常用函数对比
sqlserver和oracle常用函数对比 数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S: ...
- excel多列多行堆叠成多列一行_「Excel技巧」如何利用indirect函数快速将一列转为多行多列排版...
HI,大家好哈. 前几天我们有聊了如何将多行多列转一列的话题,今天就顺势来聊聊如何将一列转多行多列. 因为,一份表格,如果里面只有一列,不过有一百多行,甚至几百行, 这样子排版, 一方面,不够一目了然 ...
- 不要在循环,条件或嵌套函数中调用 Hook
只在最顶层使用 Hook 不要在循环,条件或嵌套函数中调用 Hook, 确保总是在你的 React 函数的最顶层调用他们.遵守这条规则,你就能确保 Hook 在每一次渲染中都按照同样的顺序被调用.这让 ...
- sorted()函数快速实现字典输出
sorted()函数快速实现字典输出 s=input('x,y,z=') x,y,z=s.split(',')#序列解包 x,y,z=sorted([x,y,z])#序列解包 print(x,y,z) ...
- mysql函数做条件_MySQL语句优化(三):避免条件字段做函数操作
今天跟各位分享一个生产环境慢查询的例子,是一个比较典型的"条件字段使用了函数导致无法走索引"的例子. 一.定位慢查询 首先发现慢查询告警,通过运维平台看到慢查询主要是下面这条:SE ...
最新文章
- 关于Jfinal的分享代码托管GitHub
- Property ‘configuration‘ and ‘configLocation‘ can not specified with together
- java锁方法和锁代码块_java的同步方法和同步代码块,对象锁,类锁区别
- JAVA知识基础(一):数据类型
- 2 数据源配置_Spring, MyBatis 多数据源的配置和管理
- php类知识 self $this都只能在当前类中使用
- Neumorphism新拟物化控件设计灵感
- 【C/C++】成员变量的初始化顺序
- HTML—讲解分割线标签、文字居中、背景图片充满全图
- MyBatis中拦截器(Interceptor)实现原理分析
- 使用ffmpeg转换webm格式到MP4格式
- 局域网内两台电脑ping不通
- 百度地图 和百度导航及语音集成冲突解决办法
- java对网络图片进行签名
- 猫、路由器、带宽、IP地址、子网掩码、网关以及公网与私网简介
- 机器学习——Matplotlib入门教程
- 红尘阡陌,那抹温暖的烟火
- 模电笔记2 二极管 稳压二极管
- eclipse安装及使用
- Mock.js 使用