You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hive中合并同表两列数据并获取去重后的结果列表

错误原因

你之前测试的SQL语句中,'${team1,team2}'被识别为固定字符串传入处理逻辑,没有读取表中team1、team2字段的实际值,因此只会输出固定的拼接结果,和表内真实数据无关。

正确实现方案

方案1:使用UNION(最直观适配需求)

UNION本身自带结果去重能力,直接查询两个字段的结果合并即可,注意替换为你实际的表名:

SELECT team1 AS teams FROM 赛事表名
UNION
SELECT team2 AS teams FROM 赛事表名;

如果需要手动控制去重逻辑,也可以用UNION ALL搭配DISTINCT:

SELECT DISTINCT teams FROM (
    SELECT team1 AS teams FROM 赛事表名
    UNION ALL
    SELECT team2 AS teams FROM 赛事表名
) t;

方案2:使用LATERAL VIEW炸开数组(适合合并字段较多的场景)

将每行的team1、team2组装为数组,再炸开为多行后去重:

SELECT DISTINCT teams 
FROM 赛事表名
LATERAL VIEW EXPLODE(ARRAY(team1, team2)) temp_table AS teams;

以上两种方案针对你提供的样例数据运行后,都可以得到预期的去重队伍列表。

内容的提问来源于stack exchange,提问作者Jackie S.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:24:06