在同一查询中按 cs-uri-stem 分组的每个 sc-status 500 和 200 的命中数?

Hit count per sc-status 500 and 200 grouped by cs-uri-stem in same query?

我想使用 Logparser 从 IIS 日志文件中获取此输出:

cs-uri-stem, # of cs-status=200, # of cs-status=500
/myapp/start,453,12
/myapp/send,67,8
/myapp/save,112,10

上面的输出告诉我 "send" 请求有 67 次成功 (200) 和 8 次失败 (500)。

我无法理解如何仅通过一次查询就能获得此输出。

我可以通过简单地按 cs-uri-stem 和 cs-status 分组来轻松生成此输出。但这会将结果分为两行:

cs-uri-stem, cs-status, count
/myapp/send,200,67
/myapp/send,500,8

我希望结果在同一行。 使用 LogParser 甚至可能吗?

如有任何帮助,我们将不胜感激。

很简单,使用CASE语句生成两个合成字段,一个在cs-status为200时为1,否则为0,另一个字段在cs-status为500时为1,否则为1 0 否则,然后对它们求和:

SELECT 
   SUM(Status200), SUM(Status500)
USING 
   CASE cs-status WHEN 200 THEN 1 ELSE 0 END AS Status200,   
   CASE cs-status WHEN 500 THEN 1 ELSE 0 END AS Status500
...