当前位置:首页 > 开发 > 数据库 > 正文

SQL行列转换方法

发表于: 2012-12-06   作者:chicony   来源:转载   浏览:
摘要: create table tb(终端名称 varchar(10) , CEI分值 varchar(10) , 终端数量 int) insert into tb values('三星' , '0-5' , 74) insert into tb values('三星' , '10-15' , 83) insert into tb values('苹果' , '0-5' , 93)

create table tb(终端名称 varchar(10) , CEI分值 varchar(10) , 终端数量 int)

insert into tb values('三星' , '0-5' , 74)

insert into tb values('三星' , '10-15' , 83)

insert into tb values('苹果' , '0-5' , 93)

insert into tb values('苹果' , '5-10' , 74)

insert into tb values('苹果' , '10-15' , 84)

insert into tb values('山寨' , '0-5' , 222)

go


select 终端名称 as 终端名称 ,

max(case CEI分值 when '0-5' then 终端数量 else 0 end)  '0-5',

max(case CEI分值 when '5-10' then 终端数量 else 0 end)  '5-10',

max(case CEI分值 when '10-15' then 终端数量 else 0 end)  '10-15',

max(case CEI分值 when '15-20' then 终端数量 else 0 end)  '15-20',

max(case CEI分值 when '20-25' then 终端数量 else 0 end)  '20-25',

max(case CEI分值 when '25-30' then 终端数量 else 0 end)  '25-30',

max(case CEI分值 when '30-35' then 终端数量 else 0 end)  '30-35',

max(case CEI分值 when '35-40' then 终端数量 else 0 end)  '35-40',

max(case CEI分值 when '40-45' then 终端数量 else 0 end)  '40-45',

max(case CEI分值 when '45-50' then 终端数量 else 0 end)  '45-50',

max(case CEI分值 when '50-55' then 终端数量 else 0 end)  '50-55',

max(case CEI分值 when '55-60' then 终端数量 else 0 end)  '55-60',

max(case CEI分值 when '60-65' then 终端数量 else 0 end)  '60-65',

max(case CEI分值 when '65-70' then 终端数量 else 0 end)  '65-70',

max(case CEI分值 when '70-75' then 终端数量 else 0 end)  '70-75',

max(case CEI分值 when '75-80' then 终端数量 else 0 end)  '75-80',

max(case CEI分值 when '80-85' then 终端数量 else 0 end)  '80-85',

max(case CEI分值 when '85-90' then 终端数量 else 0 end)  '85-90',

max(case CEI分值 when '90-95' then 终端数量 else 0 end)  '90-95',

max(case CEI分值 when '95-100' then 终端数量 else 0 end)  '95-100'

from tb

group by 终端名称

order by 终端名称

SQL行列转换方法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
SQL 行列转换 以下在达梦数据库6.0中测试通过 wisgood 原创 例子中用到的两个表 课程表 course Cours
原始表格Test_Table 第一次查询: SELECT Material, (case when type='TA1' then num else 0 end) as
【一】行转列 1,查询原始的数据 /***这次练习的主题,行转列,列转行***/ select * from Scores 2
【一】行转列 1,查询原始的数据 /***这次练习的主题,行转列,列转行***/ select * from Scores 2
SQL Server的行列转换功能非常实用,但是由于其语法不好懂,使很多初学者都不愿意使用它。下面我就
  这篇博文写的是简单的行列转换的,以一个具体的例子来给出。   以前在论坛上有人问过相关的问
  这篇博文写的是简单的行列转换的,以一个具体的例子来给出。   以前在论坛上有人问过相关的问
SQL Server的行列转换功能非常实用,但是由于其语法不好懂,使很多初学者都不愿意使用它。下面我就
PIVOT和UNPIVOT关系运算符是SQL Server 2005提供的新增功能,因此,对升级到SQL Server 2005的数据
PIVOT和UNPIVOT关系运算符是SQL Server 2005提供的新增功能,因此,对升级到SQL Server 2005的数据
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号