• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
乐居猫
上帝的恩赐
博客园    首页    新随笔    联系   管理    订阅  订阅
sql简单行转列

create table A#(
tName Nvarchar(10),
typt nvarchar(10),
number int
)

insert into A# values('甲','销售',200)
insert into A# values('乙','采集',30)
insert into A# values('乙','采集',50)
insert into A# values('乙','销售',100)

select * from a#

select sum(number) from a# group by tName,typt

select distinct tname,sum(number)as 销售 ,
case
when typt='采集'
then sum(number) end as '采集'

  from a# where typt='销售' group by tName,typt


select distinct tname,
sum(
case
when typt='销售'
then number else 0
end
)as '销售',
sum(
case
when typt='采集'
then number else 0
end
) as '采集'
  from
(
    select * from a#
)as TempTable
group by tname

 

求平均值

select tname,
sum(
case
when typt='采集' then number else 0
end
) as 采集
,
sum(
case
when typt='销售' then number else 0
end
) as 销售
from
(
select tname,typt, avg(number) as number from a# group by tName,typt
) as temptable group by tname



posted on 2010-04-16 15:44  乐居猫  阅读(198)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3