pivot列行转换,自动计算分组,解决groupby问题

select top 20 * from
(
select PromotionRateAmount,(cast(year(ReserveDate) as varchar(4))+cast(month(ReserveDate) as varchar(2))) as MonthSum,OrderId
from [PAAmountAndDay] WITH(NOLOCK)
where orderid in (select distinct orderid from [FlMortgageDetailGroupByMortgageContractNoAndOrderID])
) as a
pivot(sum(PromotionRateAmount) for MonthSum in ([20151],[20152],[20153],[20154])) as b

时间: 2024-10-07 21:58:41

pivot列行转换,自动计算分组,解决groupby问题的相关文章

oracle 列行转换

1.列转换  1:每个字母转成一行 SELECT SUBSTR(A.COLUMN1, LEV, 1) COLUMN1FROM (     SELECT 'AABDC' COLUMN1 FROM DUAL) A,(SELECT LEVEL LEV FROM DUAL CONNECT BY LEVEL<=100) BWHERE LEV <= LENGTH(A.COLUMN1); 2.通过“,”通过列转行 SELECT COLUMN1, REGEXP_SUBSTR(A.COLUMN2 ,'[^,]+

PIVOT就是行转列,UNPIVOT就是列传行

PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合.UNPIVOT与PIVOT执行相反的操作,将表值表达式的列转换为列值. 通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行 一.PIVOT实例 1. 建表 建立一个销售情况表,其中,year字段表示年份,quarter字段表示季度,amount字段表示销售额.quarter字段分别用Q1, Q2, Q3, Q4表示一.二.三.四季度. SQL 代码   复制 C

sql 行转列 PIVOT 列转行 UNPIVOT

原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 22 2013 公司3 32 2012 公司1 42 2012 公司2 52 2012 公司3 62 表二: 年 公司1 公司2 公司3 2012 42 52 62 2013 12 22 32 可使用sql2005之后提供的PIVOT 具体操作如下: select * from   t_table1

如何用Pivot实现行列转换

在Oracle中,如果要实现行列转换,较为常见的是用DECODE和CASE语句.对于简单的行列转行,DECODE和CASE语句尚能应付.在逻辑比较复杂,分组聚合较多的场景中,DECODE和CASE语句则力有不逮.而pivot则可完美解决这一切. 首先,我们来看看Oracle对于其的解释: 可见,pivot是数据仓库中的关键技术,它利用交叉查询(crosstabulation query)将行转换为列. 基本语法如下: SELECT .... FROM <table-expr> PIVOT (

Atitit &#160;数据存储的分组聚合 groupby的实现attilax总结

Atitit  数据存储的分组聚合 groupby的实现attilax总结 1. 聚合操作1 1.1. a.标量聚合 流聚合1 1.2. b.哈希聚合2 1.3. 所有的最优计划的选择都是基于现有统计信息来评估3 1.4. 参考资料3 1. 聚合操作 聚合也是我们在写T-SQL语句的时候经常遇到的,我们来分析一下一些常用的聚合操作运算符的特性和可优化项. 1.1. a.标量聚合 流聚合 标量聚合是一种常用的数据聚合方式,比如我们写的语句中利用的以下聚合函数:MAX().MIN().AVG().C

【Python数据分析】分组统计groupby

目录 1.语法 2.基础分组 2.分组后可迭代对象操作 3.按照轴类型进行分组 4.通过字典或者Series进行分组 5.通过函数分组 6.分组后常用数值函数 7.多函数计算 分组统计groupby功能: 根据某些条件,将数据拆成组 对每个组独立应用函数 将结果合并到一个数据结构中 1.语法 Dataframe在行(axis=0)或列(axis=1)上进行分组,将一个函数应用到各个分组并产生一个新值,然后函数执行结果被合并到最终的结果对象中. df.groupby(by=None, axis=0

SQL分组查询GroupBy加having

一.分组查询 概述作用: “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 1.使用group by进行分组查询在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:〉被分组的列〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数group by的使用在这只写几个例子吧:例:select courseID,a

QWebView崩溃 “Qt5WebKitd.dll!WTFCrash() 行 345 C++” 的解决方法

今天使用 QWebView 来做个简易的浏览器,出现了几个崩溃的问题,我的 Qt 版本是最新的5.4.2,相信 5.3.2 或者更低版本也会出现这些问题. 问题重现: 1.QWebView::load(URL),当界面还没加载完的时候,双击此控件会出现崩溃: 2.当 load()  过程中,界面出现垂直滚动条而又未完全加载完成的时间,使用鼠标滑轮或者直接拖动滚动条至最顶或者最底时出现崩溃(有些页面出现). 崩溃的堆栈如下: Qt5WebKitd.dll!WTFCrash() 行 345 C++

windows live writer首行缩进问题的解决

使用live writer写博客的确方便,但有个简单的问题,我始终无法解决,就是发布的博客老是无法首行缩进,试过好多方法,都有问题: 直接加全角空格.上传时就给过滤掉了. 修改defaultcss,结果只是本地改了,传上去一样. 用text template插件(参考),传上去倒是好了.但如果要再次编辑修改,打开后又还原成顶格了. 最终解决方案: 在博客园的后台设置中,增加一个样式即可: #cnblogs_post_body p{text-indent:24px;} --就这么简单! windo