我无法让 Group By 正常运行,但我不确定我错过了什么。
ItemPath 是我的问题,我相信。当我使用 Group By 时,它按 ItemPath 进行分组,即使路径末尾的 ReportName 相同,它的长度和内容也可能不同。我需要它们按 ReportName 分组,而不是实际的 ItemPath。我不确定我错过了什么才能让它发生。你可以在下面看到我的代码结果。它们应该按名称分组,但它们不是,因为 ItemPath 可能不同,因此只有其中一些匹配。
我尝试创建一个派生表并按 ReportName 列分组,但这产生了相同的结果,因为我不得不将 ItemPath 包含在 group by 子句中,因为它没有在 SELECT 语句中聚合。
SELECT Count(ItemPath) AS ExecutionCount,RIGHT(ItemPath,CHARINDEX('/',REVERSE([ItemPath]),0) - 1) AS ReportName,SUM([TimeDataRetrieval]) AS TimeDataRetrievalSum,SUM([TimeProcessing]) AS TimeProcessingSum,SUM([ByteCount]) AS ByteCountSum,SUM([RowCount]) AS RowCountSum
FROM [ReportServer].[dbo].[ExecutionLog3]
WHERE ItemPath LIKE '%/example/%' AND
ItemPath NOT LIKE '%placeholder%' AND
ItemPath NOT LIKE '%example2%'
GROUP BY ItemPath
ORDER BY ExecutionCount DESC
当前结果示例(“发票”应该分组,但它们不是):
| ExecutionCount | ReportName |TimeDataRetrievalSum|
| -------------- | ---------- |--------------------|
| 1246 | Invoice |82303 |
| 41 | Invoice |6303 |
| 8 |Remittance |153 |
谢谢!