GridDB集合容器使用AVG(DISTINCT)报错:特殊函数未授权使用
GridDB中使用AVG(DISTINCT)报错的原因与解决方法
报错原因
GridDB的集合容器(Collection Container)存在TQL语法限制:不允许在聚合函数(如AVG、SUM、COUNT等)中直接搭配DISTINCT关键字使用,这就是触发错误码152003/152004的直接原因。
解决方法
可以通过嵌套子查询绕过这个限制:先在子查询中筛选出目标员工的去重收入值,再在外层查询计算平均值。具体TQL语句如下:
SELECT AVG(Income) AS Avg_Income FROM ( SELECT DISTINCT Income FROM MonthlyIncome WHERE Name = 'Alex Benjamin' ) AS DistinctIncomes
该语句逻辑:子查询先提取Alex Benjamin所有不重复的月收入记录,外层查询基于这些去重后的结果计算平均值,完全满足“去重月收入平均值”的需求。
内容的提问来源于stack exchange,提问作者Ismail Vohra
相关产品推荐
相关产品推荐

