1.列转行

表t_pivot

转后效果

 
方法 1 (常用方法 case when)

SELECT     buydate,

SUM(CASE WHEN type = '生活' THEN typecount ELSE 0 END) AS 生活,

SUM(CASE WHEN type = '学习' THEN typecount ELSE 0 END) AS 学习,                   SUM(CASE WHEN type = '动画' THEN typecount ELSE 0 END) AS 动画,

SUM(CASE WHEN type = '游戏' THEN typecount ELSE 0 END) AS 游戏 FROM         dbo.t_pivot GROUP BY buydate

方法 2 (PIVOT)

SELECT     buydate,

sum(CASE WHEN 生活 IS NULL THEN 0 ELSE 生活 END) AS '生活',

sum(CASE WHEN 学习 IS NULL THEN 0 ELSE 学习 END) AS '学习',                   sum(CASE WHEN 动画 IS NULL THEN 0 ELSE 动画 END) AS '动画',

sum(CASE WHEN 游戏 IS NULL THEN 0 ELSE 游戏 END) AS '游戏' FROM        t_pivot PIVOT (sum(typecount) FOR type IN (生活, 学习, 动画, 游戏)) AS pvt GROUP BY buydate

2.行转列

表t_unpivot

转后效果

 
方法 1 (常用方法 case when)
 
SELECT     stuname, math AS scores, 'math' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, english AS scores, 'english' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, chinese AS scores, 'chinese' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, history AS scores, 'history' AS course FROM         dbo.t_unpivot

方法 2 (UPIVOT)

SELECT     stuname, course, scores FROM        t_unpivot UNPIVOT (scores FOR course IN (math, english, chinese, history)) AS pvt

SQl 行转列,列转行 (PIVOT,UPIVOT)的更多相关文章

  1. sql 行转列 PIVOT 列转行 UNPIVOT

    原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...

  2. SQL 行转列和列转行

    SQL 行转列和列转行 行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过 ...

  3. sql 行专列 列转行 普通行列转换

    转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...

  4. (转载)重温SQL——行转列,列转行

    原文地址:http://www.cnblogs.com/kerrycode/archive/2010/07/28/1786547.html 行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通 ...

  5. SQL Server 行转列,列转行。多行转成一列

    一.多行转成一列(并以","隔开) 表名:A 表数据: 想要的查询结果: 查询语句: SELECT name , value = ( STUFF(( SELECT ',' + va ...

  6. 重温SQL——行转列,列转行

    行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清 ...

  7. SQL——行转列,列转行

    行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清 ...

  8. 列转行pivot函数在SQL Sever里面和Oracle里面的用法区别

    首先pivot是一个列转行的函数,反向用是unpivot(行转列). 在SQL sever中可以这么写 SELECT * FROM [TABLE] /*数据源*/ AS A PIVOT ( MAX/* ...

  9. SQL行转列,列转行

    SQL 行转列,列转行 行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧. 行列转换就是如下图所示两种展示形式的互相转换 行转列 假如我们有下表: SELECT * FROM s ...

  10. Sql server 中将数据行转列列转行(二)

    老规矩,先弄一波测试数据,数据填充代码没有什么意义,先折叠起来: /* 第一步:创建临时表结构 */ CREATE TABLE #Student --创建临时表 ( StuName ), --学生名称 ...

随机推荐

  1. poj 1094 / zoj 1060 Sorting It All Out

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26876   Accepted: 92 ...

  2. tomcat:Could not publish to the server. java.lang.IndexOutOfBoundsException

    1.将工程加入到tomcat,报上述错误 2. run--maven build 报jar包错误: invalid LOC header (bad signature) 3.根据提示找到上述jar包, ...

  3. 升级JDK9后eclipse无法启动的解决方法

    解决方法-打开: D:\Program Files\eclipse\eclipse.ini 在文件末尾添加一行: --add-modules=ALL-SYSTEM 再次启动eclipse即可 感谢ht ...

  4. Java类和对象6

    按要求编写Java应用程序. (1)建立一个名叫Cat的类: 属性:姓名.毛色.年龄 行为:显示姓名.喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该 ...

  5. Node+Deployd+MongoDB安装问题

    首先:祝大家新年快乐!然后:最近在看一本angular教程,教程里面需要装一些软件(node,deployd,mongodb),当三个装完后在doc命令行下运行项目时出现问题了 mongodb已经按照 ...

  6. 51Nod 独木舟(贪心)

    n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? Input 第一行包含 ...

  7. monad-本质解释- a monad is a design pattern--monad与泛型相关

    monad的特征: 类型转化+添加新的操作. monad  RACStream RACSignal RACSubject monad:单一体,(不可分的)个体 以计算为中心的封装. In functi ...

  8. k近邻法(k-nearest neighbor, k-NN)

    一种基本分类与回归方法 工作原理是:1.训练样本集+对应标签 2.输入没有标签的新数据,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签. 3.一般 ...

  9. GIL解释锁及进程池和线程池

    官方介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati ...

  10. Opencv YAML和XML格式文件操作详解

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/47660943 本文参考Opencv 2 ...