云服务器网:购买云服务器和VPS必上的网站!

MSSQL实用技能——行列转换实践

MSSQL是一款专业的数据库管理软件,行列转换是其中一项经常使用的技能。行列转换是把表格的行和列进行转换,经常使用于查询结果分组统计中。下面介绍如何利用MSSQL实现行列转换。
常规方式:可以通过最常规的MSSQL语句进行行列转换,以下所示:select tb

MSSQL是一款专业的数据库管理软件,行列转换是其中一项经常使用的技能。行列转换是把表格的行和列进行转换,经常使用于查询结果分组统计中。下面介绍如何利用MSSQL实现行列转换。

常规方式:可以通过最常规的MSSQL语句进行行列转换,以下所示:

select tb1.用户名,sum(tb1.金额) as 总金额

from tb1

group by tb1.用户名

其中tb1是待转换的表格,用户名为依照哪一列进行分组,金额为表格中的金额列。

T-SQL:T型查询是MSSQL提供的一种转换行列的方式,以下代码将表格tb1中的相关列转换为行:

select

sum(case when tb1.用户名=’用户1′ then tb1.金额 else 0 end) as ‘用户1’,

sum(case when tb1.用户名=’用户2′ then tb1.金额 else 0 end) as ‘用户2’,

sum(case when tb1.用户名=’用户3′ then tb1.金额 else 0 end) as ‘用户3’

from tb1

PIVOT操作:在MSSQL中也能够使用PIVOT操作来实现行列转换,其用法以下:

select *

from

(

select tb1.用户名,tb1.金额

from tb1

) t

pivot

(

sum(金额)

for 用户名 in ([用户1], [用户2], [用户3])

) as p

其中tb1与上面例子中的tb1定义相同。通过PIVOT操作,上述查询可以完善的实现行列转换。

以上就是MSSQL中行列转换的三种实现方式,使用区别的方法完成该操作,得到的结果是相同的。可以根据实际情况选择适合的实现方法来完成该操作。行列转换是MAASQL中常常使用到的技能之一,能够很好的实现数据查询和分析,有助于提高数据管理效力。

本文来源:https://www.yuntue.com/post/176174.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注