S02025
错误代码
S02025
报错信息
The where clause <xxx> of a distributed query should not use any aggregate
or order-sensitive function.
RefId: S02025
错误原因
分布式分区表查询中不允许在 WHERE 子句中使用聚合函数或者序列函数。
SELECT SearchPhrase FROM hits WHERE min(UserID) > 0;
// The where clause [min(UserID) > 0] of a distributed/partitioned sql shouldn't use any aggregate or order-sensitive function.
解决办法
- 若需要对聚合结果进行过滤,可以使用 HAVING 子句。例如:
SELECT SearchPhrase FROM hits GROUP BY SearchPhrase HAVING min(UserID) > 0;
- 若无需对结果进行过滤,则可以删除 WHERE 条件中对应的字段。
- 若表的数据量不大,可以将表取出为内存表,使用内存表进行查询。
t = SELECT * FROM hits // 将分区表 hits 的内容取出到内存表t SELECT SearchPhrase FROM t WHERE min(UserID) > 0;