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子句中。

在你的查询中, alreadyResolvejustResolvenoResolveresolveAndPasswjjzzypValue这些列都是从子查询中聚合得到的,因此它们不需要在最外层的 GROUP BY子句中再次出现。问题在于,这些列在最外层查询的 CASE表达式中被使用,而这个 CASE表达式是在外层查询的 SELECT列表中的,而不是在聚合函数内部。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值