SQL 错误 [1002]: ClickHouse exception, code: 1002, host: 117.122.225.34, port: 8123; Code: 184. DB::Exception: Aggregate function any(advertiserId) is found in WHERE in query: While processing any(advertiserId) AS advertiserId. (ILLEGAL_AGGREGATION) (version 22.1.3.7 (official build))
时间: 2024-02-24 16:54:19 浏览: 531
SQL 错误提示
这个错误是由于 ClickHouse 不支持在 WHERE 子句中使用聚合函数,例如 `any(advertiserId)`。在 ClickHouse 中,聚合函数只能在 SELECT 子句中使用。
解决这个问题的方法是,将聚合函数从 WHERE 子句中移除,并使用其他方式来实现相同的逻辑。例如,你可以使用 EXISTS 关键字来判断是否存在一个满足条件的记录:
```
SELECT *
FROM my_table
WHERE EXISTS (
SELECT *
FROM my_table
WHERE advertiserId = 123
)
```
这将返回所有满足条件 `advertiserId = 123` 的记录。如果你需要返回聚合结果,可以将聚合函数放在 SELECT 子句中,而不是 WHERE 子句中:
```
SELECT any(advertiserId) AS advertiserId
FROM my_table
WHERE some_other_condition
```
阅读全文