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

Oracle中拼接同ID1的ID2值并统计ID1对应ID2组合的行数

解决方法

你只需在现有聚合查询逻辑基础上,补充对应聚合统计函数,同时补上原SQL缺失的GROUP BY ID1子句即可:

  • 若要统计每个ID1分组下的总行数(含ID2重复的行),可以用COUNT(*)实现:
SELECT
  ID1,
  LISTAGG(ID2, ', ') WITHIN GROUP (ORDER BY ID2) "ID2Values",
  COUNT(*) AS ID1RowCount
FROM table_name
GROUP BY ID1;
  • 若要统计每个ID1分组下去重后的ID2数量(相同ID2只算一次),可以搭配DISTINCT实现:
SELECT
  ID1,
  LISTAGG(DISTINCT ID2, ', ') WITHIN GROUP (ORDER BY ID2) "ID2Values",
  COUNT(DISTINCT ID2) AS DistinctID2Count
FROM table_name
GROUP BY ID1;

注:你最初提供的SQL缺少GROUP BY ID1子句,在绝大多数支持LISTAGG语法的数据库(Oracle、PostgreSQL 11+、MySQL 8.0+等)中会直接报错,上述代码已经补充了该必要语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:24:03