行列转换

原创 2007年09月20日 09:33:00

表如下
ID     流程   日期
1       A      9-1
2       A      9-1
3       B      9-1
4       C      9-1
1       B      9-2
2       B      9-2
3       C      9-2
4       D      9-2
想得到的结果是
        9-1    9-2
A       2      0
B       1      2
C       1      1
D       0      1

 

create table 表(ID int, 流程 varchar(10),日期 varchar(10))
insert into 表 values(1,       'A',      '9-1')
insert into 表 values(2,       'A',      '9-1')
insert into 表 values(3,       'B',      '9-1')
insert into 表 values(4,       'C',      '9-1')
insert into 表 values(1 ,      'B',      '9-2')
insert into 表 values(2 ,      'B',      '9-2')
insert into 表 values(3 ,      'C',      '9-2')
insert into 表 values(4 ,      'D',      '9-2')
go

--日期固定的写法
select 流程 ,
  sum(case 日期 when '9-1' then 1 else 0 end) [9-1],
  sum(case 日期 when '9-2' then 1 else 0 end) [9-2]
from 表
group by 流程
/*
流程       9-1         9-2        
---------- ----------- -----------
A          2           0
B          1           2
C          1           1
D          0           1
(所影响的行数为 4 行)
*/

--日期不固定的写法
declare @sql varchar(8000)
set @sql = 'select 流程'
select @sql = @sql + ' , sum(case 日期 when ''' + 日期 + ''' then 1 else 0 end) [' + 日期 + ']'
from (select distinct 日期 from 表) as a
set @sql = @sql + ' from 表 group by 流程'
exec(@sql)
/*
流程       9-1         9-2        
---------- ----------- -----------
A          2           0
B          1           2
C          1           1
D          0           1
(所影响的行数为 4 行)
*/

drop table 表

 

oracle行列转换_面试经常考到

  • 2014年03月23日 17:40
  • 32KB
  • 下载

EXTJS 行列转换

  • 2013年11月05日 22:34
  • 596KB
  • 下载

oracle split去逗号,行列转换

1.针对  '1','2','3','4','5'(逗号在字符串外面) SQL> SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','...

oracle行列转换

  • 2013年05月07日 15:40
  • 33KB
  • 下载

sql server 行列转换

  • 2011年12月30日 14:40
  • 375B
  • 下载

sqlite实现行列转换

最近用sqlite做统计,要实现行列转换。 行是: 要达到的效果是: 使用的语句是: 行转成列: SELECT zldwdm,sum(mj) as total, sum(CASE WHEN d...

SQL学习(一)--数据库 行列转换

SQLServer 1、UNPIVOT 操作符 UNPIVOT操作符就是取得一个行的数据集合,然后把每一行都转换成多个行数据。 UNPIVOT 语法 下面就是 ...
  • zmjkey
  • zmjkey
  • 2017年05月02日 10:15
  • 125

oracle sql 行列转换

  • 2007年05月19日 23:06
  • 7KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:行列转换
举报原因:
原因补充:

(最多只允许输入30个字)