• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
人生之路,职业之路
读书使人充实,交谈使人机敏,写记使人精确;
“动因+兴趣”——决心-持之以恒-见效
博客园    首页    新随笔    联系   管理    订阅  订阅
ms sqlserver 两行数据合并成一行

create table #tmpData(
word nvarchar(max),
number int
)

insert into #tmpData(word,number) values('java',1297932)
insert into #tmpData(word,number) values('c#',928234)
insert into #tmpData(word,number) values('销售',4392821)
insert into #tmpData(word,number) values('会计',8794)
insert into #tmpData(word,number) values('司机',683)

 

select * from #tmpData

 

 select m.word ,m.number ,n.word ,n.number,m.row,n.row
from
(select word,number,row_number()over(order by getdate()) row from (select distinct top 20000 word, sum(number) number from #tmpData with(nolock) group by word order by number desc) a)m
  full join
(select word,number,row_number()over(order by getdate()) row from (select distinct top 20000 word, sum(number) number from #tmpData with(nolock) group by word order by number desc) b)n
on m.row+1 = n.row
 where m.row % 2=1 or n.row %2=0
 order by m.row
 
 
drop table #tmpData

 

原始数据:

 

结果:

 

posted on 2012-11-09 14:09  FreeBird  阅读(2164)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3