数据库中数据列转行并均分显示

来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:54 点击:

[sql]
declare @t table(网元 varchar(20),覆盖类型 varchar(20),占比 float, 排名 int)  
insert into @t(网元,覆盖类型,占比,排名)  
select '分公司1','军队',0.45,1  
union all  
select '分公司1','政府',0.22,2  
union all  
select '分公司1','学校',0.12,3  
union all  
select '分公司2','社区',0.33,1  
union all  
select '分公司2','银行',0.22,2  
union all  
select '分公司2','医院',0.13,3  
    
select * from @t   
      
(6 行受影响)  
网元                   覆盖类型                 占比                     排名  
-------------------- -------------------- ---------------------- -----------  
分公司1                 军队                   0.45                   1  
分公司1                 政府                   0.22                   2  
分公司1                 学校                   0.12                   3  
分公司2                 社区                   0.33                   1  
分公司2                 银行                   0.22                   2  
分公司2                 医院                   0.13                   3  
  
(6 行受影响)  
[sql]
</pre><pre name="code" class="sql">  
[sql]
<pre name="code" class="sql">希望效果如下:  


 
[sql]
</pre><pre name="code" class="sql"><pre name="code" class="sql">select 网元,  

    [第一名]=max(case when 排名%6=1 then 覆盖类型 else '' end),  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1