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

原创 2012年03月27日 15:30:40
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 行受影响)
希望效果如下:



select 网元,
	[第一名]=max(case when 排名%6=1 then 覆盖类型 else '' end),
	[第一名占比]=sum(case when 排名%6=1 then 占比 else 0 end),
	[第二名]=max(case when 排名%6=2 then 覆盖类型 else '' end),
	[第二名占比]=sum(case when 排名%6=2 then 占比 else 0 end),
	[第三名]=max(case when 排名%6=3 then 覆盖类型 else '' end),
	[第三名占比]=sum(case when 排名%6=3 then 占比 else 0 end),
	[第四名]=max(case when 排名%6=4 then 覆盖类型 else '' end),
	[第四名占比]=sum(case when 排名%6=4 then 占比 else 0 end),
	[第五名]=max(case when 排名%6=5 then 覆盖类型 else '' end),
	[第五名占比]=sum(case when 排名%6=5 then 占比 else 0 end),
	[第六名]=max(case when 排名%6=0 then 覆盖类型 else '' end),
	[第六名占比]=sum(case when 排名%6=0 then 占比 else 0 end)
  from @t
group by 网元






                    

实现4列等分布局,每列之间有间距

昨天被问到一个面试题:怎么实现四列等分布局,每列之间有间距,但是第一列和最后一列与窗口之间没有间距? 当时想的是直接获取宽度减去各个margin值然后除以4,最后去掉两端的间距就好了。但是面试官说要...
  • DreamFJ
  • DreamFJ
  • 2017年03月31日 11:11
  • 576

[HAOI2006]均分数据(模拟退火????)

我大概是中毒了。。。。 对模拟退火 走火入魔了 这随机数算法。。。啧。。。 感觉有毒。BZOJ2428: [HAOI2006]均分数据 【洛谷P2503】 已知N个正整数:A1、A2、……...
  • l961983207
  • l961983207
  • 2017年12月02日 18:50
  • 22

【HAOI2006】【BZOJ2428】均分数据

Description已知N个正整数:A1、A2、……、An 。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。均方差公式如下: ,其中σ为均方差,是各组数据和的平均值,xi...
  • CreationAugust
  • CreationAugust
  • 2015年09月03日 19:06
  • 1731

贪心算法-均分纸牌-JAVA

[均分纸牌]有N堆纸牌,编号分别为1,2,…,n。每堆上有若干张,但纸牌总数必为n的倍数.可以在任一堆上取若干张纸牌,然后移动。移牌的规则为:在编号为1上取的纸牌,只能移到编号为2的堆上;在编号为n的...
  • u011035622
  • u011035622
  • 2015年02月08日 23:54
  • 1408

codevs均分纸牌 贪心算法

题目描述 Description 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。   移牌规则为:在编号为 1...
  • glaugagefer
  • glaugagefer
  • 2015年04月21日 00:50
  • 677

GridLayout无法支持平均分配行列

【Ref】http://stackoverflow.com/questions/10016343/gridlayout-not-gridview-how-to-stretch-all-children...
  • GoneWithFate
  • GoneWithFate
  • 2015年08月18日 19:34
  • 4063

XYNUOJ 1249 均分纸牌(playcard)—贪心算法

欢迎访问XYNUOJ 1249: 均分纸牌(playcard) 时间限制: 1 Sec  内存限制: 128 MB 提交: 11  解决: 7 [提交][状态][讨论版][Edit] ...
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2017年07月31日 20:25
  • 340

[BZOJ2428][HAOI2006]均分数据(模拟退火)

ATP今晚要不要请假回家睡觉呢。。。
  • FromATP
  • FromATP
  • 2017年03月25日 11:28
  • 325

bzoj 2428 均分数据 模拟退火

模拟退火 按照自己的思路打了,结果WA,发现退火最关键的就是初温,降温,和修改次数, 这个题还在外层带了一个循环,骚气 #include #include #include #include #...
  • Ren_Ivan
  • Ren_Ivan
  • 2017年08月09日 16:44
  • 118

编写一个程序,被调用后,能求出平均分,最高分,最低分

问题描述: 有一个一维数组,存放十个学生的成绩,编写一个程序,当主函数调用此函数后,能求出平均分,最高分,最低分。 解题思路: 众所周知,一个函数只能带回一个函数返回值,此处,要求通过函数调用得...
  • ZongYinHu
  • ZongYinHu
  • 2015年04月12日 14:53
  • 1556
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库中数据列转行并均分显示。
举报原因:
原因补充:

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