在分布式表上测试查询时遇到问题。
sql是这样的:
select distinct OriginCityName from on_time.ontime_all t where t."OriginStateName" = 'California'
“on\u time.ontime\u all”是一个分布式表,包含列origincityname、originstatename和其他一些名称。错误是:
Received exception from server (version 1.1.54381):
Code: 171. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Block structure mismatch in UNION stream: different number of columns:
OriginCityName String String(size = 0)
OriginCityName String String(size = 0), OriginStateName String String(size = 0).
0 rows in set. Elapsed: 0.186 sec.
但是,如果对sql执行以下操作之一,则错误消失:
删除distinct
删除where子句
用prewhere替换where
将where子句中的“originstatename”列也添加到select部分
将“选择零件”更改为 select distinct *
这种sql对我的应用程序很重要,有人能帮我解决这个问题吗?它是一个bug还是clickhouse的一个限制?非常感谢你。
暂无答案!
目前还没有任何答案,快来回答吧!