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

Impala SQL使用GROUP_CONCAT筛选c_num计数≥2的i_id方案咨询

解决方案

你原有查询缺少两个核心逻辑:按i_id分组的GROUP BY子句,以及分组后过滤符合条件分组的HAVING子句,修正后的查询语句如下:

SELECT
  i_id,
  group_concat(DISTINCT cast(c_num AS STRING)) AS c_num,
  group_concat(DISTINCT cast(type AS STRING)) AS type
FROM A1
GROUP BY i_id
HAVING COUNT(*) >= 2;

逻辑说明

  • GROUP BY i_id会将全表数据按i_id值拆分成分组,每个唯一i_id对应独立分组
  • group_concat默认用逗号作为分隔符拼接同组内的字段值,加DISTINCT可以去除重复拼接值,若业务允许重复值可直接去掉该关键字
  • HAVING是专门用于分组后的过滤条件,COUNT(*) >=2即只保留组内数据行数≥2的分组,可直接过滤掉仅1行数据的i_id=3、i_id=4分组。
    如果你的业务判断规则是去重后的c_num数量≥2,可将HAVING条件调整为COUNT(DISTINCT c_num) >=2即可。

内容的提问来源于stack exchange,提问作者LwShieN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:51:00