我需要知道,如果没有聚合函数要使用,MS
SQL中的“数据透视”是否可以用于将行转换为列。我看到了很多仅带有聚合函数的示例。我的字段是字符串数据类型,我需要将此行数据转换为列数据。这就是为什么我写这个问题。我只是用’case’做到了。谁能帮我......提前感谢。
您可以使用PIVOT执行此操作。在执行PIVOT时,可以使用以下两种方法之一进行操作:使用“静态数据透视表”(将对行进行编码)或“动态数据透视表”将在运行时创建列列表:
静态数据透视表(请参阅带有演示的SQL Fiddle):
SELECT *
FROM
(
select empid, wagecode, amount
from t1
) x
pivot
(
sum(amount)
for wagecode in ([basic], [TA], [DA])
) p
动态枢轴:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(wagecode)
FROM t1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT empid, ' + @cols + ' from
(
select empid, wagecode, amount
from t1
) x
pivot
(
sum(amount)
for wagecode in (' + @cols + ')
) p '
execute(@query)
两者都会为您带来相同的结果
问题内容: 我已经阅读了MS数据透视表上的内容,但在获得正确答案方面仍然遇到问题。 我有一个正在创建的临时表,我们会说第1列是商店编号,第2列是星期编号,最后第3列是某种类型的总数。同样,周号是动态的,商店号是静态的。 我希望将其作为数据透视表发布,如下所示: 将数字存储在侧面,数周存储在顶部。 问题答案: 如果使用的是SQL Server 2005+,则可以使用该函数将数据从行转换为列。 听起来
问题内容: 我正在使用Oracle 12c R1 db并具有以下示例数据的示例视图: 视图名称: CUST_HOTEL_VIEW 从上面的数据中,我试图通过Row Grand Total,Column Grand Total和每位客户预订的酒店数量低于数据透视表的输出: 我尝试在下面的查询中生成数据透视表 我想知道: 1.如何包括行总计 2.如何包括列总计 3.如何包括预订酒店的数量以及 3.是否
问题内容: 我想从Table1转换数据,如您在数据透视表中的第一张图片上所见。在MySQL中可以做到吗?因为数据透视表(A,B,C,D)的值是varchar数据格式,所以我不能使用MySQL的任何聚合函数(例如SUM或其他函数)。 谢谢你的帮助 问题答案: 静态查询(就Bob和Sue而言)可能看起来像这样 现在可以使用动态SQL来解释其他名称 输出: 这是 SQLFiddle 演示 您可以将其包装
问题内容: 我正在努力寻找解决此MySQL问题的方法。我似乎无法理解该怎么做。我有下表。 如果可能的话,我想将问题答案显示为每个结果集的列,如下所示。 任何帮助将非常感激。 谢谢 问题答案: SQLFiddle演示 如果您不清楚问题的数量( 例如Matei Mihai所说的1000个 ),则非常需要动态版本。 SQLFiddle演示 输出值
我想将String转换为子类数据类型,如何才能做到?或者这是可能的? 我有一个抽象类帐户 公共抽象类SinAcct扩展了Acct 一个公共类SavAcct扩展了SinAcct 在SavAcct中,有一个构造函数 一个抽象类合并帐户扩展帐户 我想要一个新的SavAcct, 新的SavAcct(数组[1],数组[2],数组[3],Double.parse双(数组[4]) 但它是错误的构造函数SavAc
问题内容: 给定python字符串列表,如何自动将其转换为正确的类型?意思是,如果我有: 我希望将其转换为列表 其中第一个元素是stuntng,第二个元素是int,第三个元素是float,第四个元素是int。 我怎样才能做到这一点?谢谢。 问题答案: import ast