日志解析器不适用于 WHERE 语句中的命名列

Log Parser not working with named column in WHERE statement

我 运行 遇到了 Log Parser 的问题,我无法在 WHERE 语句中使用命名列。命名列在 Order By 语句中工作正常。从 WHERE 语句中删除命名列可使查询正常工作。

这是我得到的错误:

Error parsing query: WHERE clause: Semantic Error: WHERE clause contains aggregate functions [SQL query syntax invalid or unsupported.]

这是我的查询:

SELECT cs-uri-stem, count(cs-uri-stem) as hits INTO '" + $Destination + "' FROM $filePaths WHERE (cs-uri-stem LIKE '/testing%' OR cs-uri-stem LIKE '%/test%') AND (date > '2020-08-01' AND date < '2020-09-31') AND (hits > 1) Group By cs-uri-stem order by hits desc

Log Parser 不支持这个吗?

没有 SQL 方言支持这一点 - 聚合函数的结果不能在 WHERE 子句中引用。您可以使用 HAVING 子句代替过滤聚合:

...
Group By cs-uri-stem 
HAVING hits > 1
order by hits desc