如何为表中的两列返回相同的值

Posted

技术标签:

【中文标题】如何为表中的两列返回相同的值【英文标题】:How to return same value for two columns in a table 【发布时间】:2021-04-29 14:31:02 【问题描述】:

我用 hive 试过这个。 有一个带有列的表:

id key
123 123
345 345
123 123

条件是id和key要相同的值和相同的长度,key的长度应该是15且不能重复

我试过了

Select distinct id,key
from table
where id == key and length(key) = 15;

想要的结果:

id key
123 123
345 345

错误: 查询运行时间过长

如何查询hive中两列值相同且长度相同的表?

【问题讨论】:

【参考方案1】:

Hive 对 select distinct 的实现可能很差。聚合是否有效?

Select id, key
from table
where id = key and length(key) = 15
group by id, key;

【讨论】:

以上是关于如何为表中的两列返回相同的值的主要内容,如果未能解决你的问题,请参考以下文章

连接来自两个不同表的两列

从表中的两列中选择相同的数据,并使用一条sql语句显示所有数据

合并数据透视表中的两列

Mysql比较两个表中的两列

如何通过比较两个表中的两列来更新表中的列

两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容