【问题标题】:DB ORACLE QUERY数据库 ORACLE 查询
【发布时间】:2018-03-14 11:02:22
【问题描述】:

我有一个存储详细信息的表

ID     NAME
1       A
2       A
1       A

我需要这样的输出

ID     Name   Count
1,2     A      3

请帮助在 oracle 选择查询中获得类似的输出

【问题讨论】:

标签: sql oracle string-aggregation


【解决方案1】:

在 Oracle 中,您可以使用 listagg(),但它没有 distinct 选项。因此,使用子查询和两级聚合:

select listagg(id, ',') within group (order by id) as id, name, sum(cnt)
from (select id, name, count(*) as cnt
      from t
      group by id, name
     ) x
group by name;

【讨论】:

  • 感谢支持
猜你喜欢
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多