【问题标题】:Log Parser: HAVING Wildcards日志解析器:有通配符
【发布时间】:2015-01-27 23:14:01
【问题描述】:

我有一个获取前 200 个 uri 的日志解析器查询,但是我不希望任何包含点 (.) 的 cs-uri-stem 条目。

这和我来的一样接近,但通配符似乎没有像我预期的那样发挥作用:

"SELECT TOP 200 cs-uri-stem, COUNT(*) AS Total INTO \Top200URIs_NoDots.csv 
FROM "\2015-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>

为什么忽略 '%'s 和介于两者之间的所有内容?

【问题讨论】:

  • 这是在批处理文件中吗? % 必须在批处理文件中转义为 %%。
  • 是的,我会试试的!
  • 就是这样。把它作为一个答案,我会给你信用!谢谢!

标签: logparser


【解决方案1】:

HAVING 用于对分组数据使用聚合函数过滤分组结果。由于必须首先完成分组,因此对分组数据进行过滤的处理更加密集。在这种情况下,无论如何,使用WHERE 子句将更优化地执行您的查询。另外,如果在批处理文件中,请记住使用%%。单个% 表示批处理变量,不会出现在程序的参数中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    相关资源
    最近更新 更多