PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_...
分类:
数据库 时间:
2014-10-16 20:35:43
阅读次数:
379
9i下--多行with temp as(select '6001600301,6001600302,6001600303,6001600304' text from dualunionselect '7001600301,7001600302,7001600303' text from dual)s...
分类:
其他好文 时间:
2014-10-11 19:55:26
阅读次数:
246
一、行转列
需要将如下格式
转换为:
这就是最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的
[sql]
view plaincopy
create table test( id varchar2(255) primary key not null, name var...
分类:
数据库 时间:
2014-10-09 18:18:47
阅读次数:
269
某天在某技术群看见有人发了这样一个图求助,一看就觉得这题考查的是利用sql行转列我脑海第一时间就想到用oracle的decode函数来写,但又想到题目没有具体说是哪一种数据库~如果用decode的话,在mysql下是完全不一样的用法(也是因为这次我才知道mysql也有decode方法,但跟oracl...
分类:
数据库 时间:
2014-10-09 01:42:58
阅读次数:
292
偶然需要了解,学习了这篇文章,转载记录一下
自:http://blog.csdn.net/jxzkin/article/details/7949629
1.创建测试数据 [html]view plaincopy CREATETABLECC (StudentNVARCHAR2(2),CourseNVA...
分类:
数据库 时间:
2014-10-07 16:34:53
阅读次数:
380
如图:源表:转换之后的结果:SQL语句:SELECT 姓名,MAX(CASE WHEN 课程='语文' THEN 分数 else 0 end) '语文',MAX(CASE WHEN 课程='数学' THEN 分数 else 0 end) '数学',MAX(CASE WHEN 课程='物理' TH.....
分类:
数据库 时间:
2014-10-06 14:28:50
阅读次数:
196
在开发中,大量使用的了表格,对表格也有了新的认识。表格的首行,首列就是分析数据,其余的应该全部是指标数据。例子:前期的表格:上面,这不是表格的长处。看下面的表格:里面数据全部是数据,表格本质就是数据载体。当然了,都是SQL写的,什么行转列等什么的SQL写,仅仅是对表格本身在多维分析中有了新的认识。
分类:
其他好文 时间:
2014-09-29 15:53:31
阅读次数:
159
--测试数据create table rowtocol_test asselect 2009 year,1 month,'部门1' dept,50000 expenditure from dualunion all select 2009,2,'部门1',20000 from dualunion a...
分类:
数据库 时间:
2014-09-17 11:46:52
阅读次数:
234
CREATE TABLE CC (Student NVARCHAR2(2),Course NVARCHAR2(2),Score INT ); INSERT into CC select N'张三',N'语文',78 from dual union all select N'张三...
分类:
数据库 时间:
2014-09-17 11:45:22
阅读次数:
687