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

求优化SQL查询:筛选含至少2个不同COL2的COL1并聚合展示

最优SQL查询方案

思路说明

先筛选出拥有至少2个不同COL2值的COL1,再针对这些COL1,统计每个COL2对应的COL3总计数,最后拼接成要求的格式输出。

方案一:使用CTE(可读性强)

WITH eligible_col1 AS (
    SELECT COL1
    FROM your_table
    GROUP BY COL1
    HAVING COUNT(DISTINCT COL2) >= 2
)
SELECT 
    t.COL1,
    CONCAT(t.COL2, '(', SUM(t.COL3), ')') AS COL2_with_count
FROM your_table t
JOIN eligible_col1 e ON t.COL1 = e.COL1
GROUP BY t.COL1, t.COL2
ORDER BY t.COL1;

方案二:使用窗口函数(性能更优,适合大数据量)

SELECT 
    COL1,
    CONCAT(COL2, '(', SUM(COL3), ')') AS COL2_with_count
FROM (
    SELECT 
        *,
        COUNT(DISTINCT COL2) OVER (PARTITION BY COL1) AS col2_distinct_count
    FROM your_table
) t
WHERE col2_distinct_count >= 2
GROUP BY COL1, COL2
ORDER BY COL1;

补充说明

  • 替换your_table为你的实际表名;
  • 两种方案均能满足需求,窗口函数方案避免了额外的JOIN操作,在数据量较大时性能表现更优;
  • 最终结果按COL1排序,每个COL1下展示对应的COL2值及COL3总计数,与目标表结构完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:57:31