转 经典SQL问题: 行转列发表于5个月前(2015-09-19 17:49) 阅读(2855) | 评论(0) 20人收藏此文章, 我要收藏赞0学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列。数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键。本
分类:
数据库 时间:
2016-02-17 14:40:00
阅读次数:
245
1. 利用 case when then 1 select DeptId,d.DepName, sum(case [Type] when 0 then CountVisit end) as 'NewsType',sum (case [Type] when 1 then CountVisit end)
分类:
数据库 时间:
2016-02-02 15:07:42
阅读次数:
172
目的:须要把数据框的行列进行转置 方法: # 原始数据框 > hrl_jd_mon 年份 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 1 2010年 51.2 45.8 55.8 62.9 63.8 59.5 80.5 78.0 66.0 92.3 50.80 55.
分类:
编程语言 时间:
2016-02-01 15:31:22
阅读次数:
227
列转行编程中很容易碰到,小弟在此总结下,行转列暂时还没遇到,遇到再补充。列转行:SELECTSTUFF((SELECT','+字段FROM表名FORXMLPATH('')),1,1,'')一般用于子查询SELECT(SELECTSTUFF((SELECT','+usernameFROMdbo.adm...
分类:
数据库 时间:
2016-01-19 12:12:45
阅读次数:
137
PIVOT用于将列值旋转为列名(即行转列),在SQL Server2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_c...
分类:
数据库 时间:
2016-01-16 16:25:43
阅读次数:
237
之前看过一篇博文写得非常好,看后就很容易让人理解,博文地址为:http://www.cnblogs.com/lhj588/p/3315876.html最近在群里又碰到一个朋友说起,于是记录一下:假设表名为t.表里有六个字段p1,p2,p3,s1,s2,s3现在想得到p1=100时s1值的总和p2=100时s2值的总和p3=100时s3值的总和..
分类:
数据库 时间:
2016-01-13 20:02:30
阅读次数:
633
行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CAS...
分类:
数据库 时间:
2015-12-29 16:07:17
阅读次数:
245
PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT与PIVOT执行相反的操作,将表值表达式的列转换为列值。通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行一、PIVOT实例1. 建表建立一个销售情况...
分类:
其他好文 时间:
2015-12-25 19:03:41
阅读次数:
152
--未旋转之前的查询结果select s.Name ShiftName,h.BusinessEntityID,d.Name as DpartmentNamefrom HumanResources.EmployeeDepartmentHistory hinner join HumanResource....
分类:
数据库 时间:
2015-12-23 14:13:59
阅读次数:
219
行表: 行表姓名属性属性值JACK身高180JACK体重80JACK年龄27TOM身高164TOM体重59TOM年龄20列表: 列表 姓名身高年龄体重JACK1802780TOM1642059行转列就是将行表转换为列表,反之为列转行。--==========================...
分类:
数据库 时间:
2015-12-18 18:07:10
阅读次数:
217