SQL 如何将列值变为列名,并统计列值。

SQL 如何将列值变为列名,并统计列值。,第1张

SQL 代码如下:

--下面创建一个临时表 #tb
create table #tb(db_element varchar(10),att_name varchar(10),att_value int)

--向临时表中插入测试数据

insert into #tb
select  '张三','a',74   union all
select  '张三','b',83    union all
select  '张三','c',93     union all
select  '李四','a',74     union all
select  '李四','b',84     union all
select  '李四','c',94

--下面是拼接SQL语句
declare @sql varchar(8000)
set @sql=''  
select @sql=@sql+','+att_name from #tb group by att_name
set @sql=stuff(@sql,1,1,'')
set @sql='select from #tb pivot (max(att_value) for att_name in ('+@sql+')) a'

--执行拼接SQL 语句
exec(@sql)

--删除临时表
drop table #tb
--输出结果:
de_element    a    b    c

李四 74 84 94
张三 74 83 93

2 统计 SQL 关键字 group by

SQL 如下:

select a ,sum(b) as b,sum(c) as from table

group by a

以上就是关于SQL 如何将列值变为列名,并统计列值。全部的内容,包括:SQL 如何将列值变为列名,并统计列值。、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9692267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存