我想使用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
上面的输出告诉我,“发送”请求获得67次点击,可以(200),而8次失败(500)。
我很难理解如何仅通过一个查询就能获得此输出。
我可以通过简单地将cs-uri-stem和cs-status分组来轻松产生此输出。但这会将结果分为两行:
cs-uri-stem, cs-status, count
/myapp/send,200,67
/myapp/send,500,8
我希望结果在同一行上。 LogParser甚至有可能吗?
任何帮助将不胜感激。
答案 0 :(得分:1)
这很简单,使用CASE
语句生成两个合成字段,当cs-status为200时,该字段为1,否则为0,当cs-status为500时,另一个字段为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
...