日志解析器:具有通配符
Log Parser: HAVING Wildcards
我有一个获取前 200 个 uris 的日志解析器查询,但是我不想要任何带有点 (.) 的 cs-uri-stem 条目。
我已经很接近了,但是通配符似乎没有像我预期的那样起作用:
"SELECT TOP 200 cs-uri-stem, COUNT(*) AS Total INTO \Top200URIs_NoDots.csv
FROM "15-01\U*.log"
GROUP BY cs-uri-stem
HAVING cs-uri-stem NOT LIKE '%.%'
ORDER BY Total DESC"
当我 运行 这个时,我得到一个错误:
... HAVING cs-uri-stem NOT LIKE ''...
Error: Syntax Error: <having-clause>: not a valid <expression>
为什么忽略“%”和之间的所有内容?
HAVING
用于在分组数据上使用聚合函数过滤分组结果。对分组数据进行过滤需要更多的处理,因为必须先完成分组。在这种情况下,无论如何使用 WHERE
子句将更优化地执行您的查询。此外,如果这是在批处理文件中,请记住使用 %%
。单个 %
表示一个批处理变量,不会进入程序的参数。
我有一个获取前 200 个 uris 的日志解析器查询,但是我不想要任何带有点 (.) 的 cs-uri-stem 条目。
我已经很接近了,但是通配符似乎没有像我预期的那样起作用:
"SELECT TOP 200 cs-uri-stem, COUNT(*) AS Total INTO \Top200URIs_NoDots.csv
FROM "15-01\U*.log"
GROUP BY cs-uri-stem
HAVING cs-uri-stem NOT LIKE '%.%'
ORDER BY Total DESC"
当我 运行 这个时,我得到一个错误:
... HAVING cs-uri-stem NOT LIKE ''...
Error: Syntax Error: <having-clause>: not a valid <expression>
为什么忽略“%”和之间的所有内容?
HAVING
用于在分组数据上使用聚合函数过滤分组结果。对分组数据进行过滤需要更多的处理,因为必须先完成分组。在这种情况下,无论如何使用 WHERE
子句将更优化地执行您的查询。此外,如果这是在批处理文件中,请记住使用 %%
。单个 %
表示一个批处理变量,不会进入程序的参数。