SQL在列中添加行

时间:2013-10-24 16:40:03

标签: sql netflow

我在Orion Report Writer中为Solarwinds Netflow流量分析器运行SQL查询,并尝试为来自相同通用源的特定会话添加数据使用。在这种情况下,它是netflix。我的查询取得了一些进展。

SELECT  TOP 10000 FlowCorrelation_Source_FlowCorrelation.FullHostname AS Full_Hostname_A,
SUM(NetflowConversationSummary.TotalBytes) AS SUM_of_Bytes_Transferred,
SUM(NetflowConversationSummary.TotalBytes) AS Total_Bytes

FROM 
((NetflowConversationSummary LEFT OUTER JOIN FlowCorrelation FlowCorrelation_Source_FlowCorrelation ON (NetflowConversationSummary.SourceIPSort = FlowCorrelation_Source_FlowCorrelation.IPAddressSort))  LEFT OUTER JOIN FlowCorrelation FlowCorrelation_Dest_FlowCorrelation ON (NetflowConversationSummary.DestIPSort = FlowCorrelation_Dest_FlowCorrelation.IPAddressSort))  INNER JOIN Nodes ON (NetflowConversationSummary.NodeID = Nodes.NodeID)


WHERE 
( DateTime BETWEEN 41539 AND 41570 )
 AND  
(
  (FlowCorrelation_Source_FlowCorrelation.FullHostname LIKE 'ipv4_1.lagg0%')
)

GROUP BY FlowCorrelation_Source_FlowCorrelation.FullHostname, FlowCorrelation_Dest_FlowCorrelation.FullHostname, Nodes.Caption, Nodes.NodeID, FlowCorrelation_Source_FlowCorrelation.IPAddress

所以我有一个输出可以过滤除netflix会话(Full_Hostname_A)之外的所有内容以及每个会话的总使用量(Sum_Of_Bytes_Transferred)

我想将Sum_Of_Bytes_Transferred加起来以获取所有netflix会话的总使用量 列出,将输出到Total_Bytes。我创建了Total_Bytes列,但不知道如何输出总数。

对于一些要求澄清,以下是上述查询的输出:

enter image description here

我希望将Total_Bytes列全部添加到一个数字中。

1 个答案:

答案 0 :(得分:0)

我不熟悉您正在使用的报告工具。

从阅读你的帖子我认为你想要你已经获得的前两列数据,再加上报告中的后一点,一个数字就是你已经生产的total_bytes列的总和

您的报告工具可能有一些总计列的方法,但您可能需要让报告工具的支持人员告诉您如何执行此操作。

除此之外,如果您可以在报告的后一部分找到一种方法来调用单独的查询,或者在详细信息部分之后在现有报告中嵌入新报告,并使用该报告单独运行查询然后你应该能够获得你想要的数据:

SELECT Sum(Total_Bytes) as [Total Total Bytes] 
FROM ( yourExistingQuery ) x

yourExistingQuery意味着你已经完整的查询(不必放在一行),需要的是paretheses,“x”也是如此。 (后者为查询定义的虚拟表提供了一个语法要求的名称。)

希望这有帮助。