ClickHouse数据库报错:1054-Unknown column ‘*******‘ in ‘field list 解决方法
ClickHouse数据库报错:1054-Unknown column '*******' in 'field list 解决方法
·
背景
在Navicat上运行给的参考例子报错:1054-Unknown column '*******' in 'field list
原因
表面原因是:找不到这个字段名
实际原因是:因为在SQL的子查询中,您不能在SELECT列表中直接引用之前定义的别名。我们需要将这些计算放入一个子查询中,然后在外部查询中引用这些值。
后来经过询问是因为给的例子是Click House数据库的语句,Ch数据库支持在一个子查询中直接定义一个别名后使用,但是在ClickHouse数据库中,列没有在聚合函数下或不在GROUP BY子句中。在ClickHouse中,当你使用聚合函数(如SUM)时,所有不在聚合函数中的列必须包含在GROUP BY子句中。
在你的查询中,alreadyResolve、justResolve、noResolve、resolveAndPass和wjjzzypValue这些列都是从子查询中聚合得到的,因此它们不需要在最外层的GROUP BY子句中再次出现。问题在于,这些列在最外层查询的CASE表达式中被使用,而这个CASE表达式是在外层查询的SELECT列表中的,而不是在聚合函数内部。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)