如何在 Oracle SQL 开发人员中按值显示分组

How to show group by value in Oracle SQL developer

在 Oracle SQL Developer 中对列求和后,我试图按字段名称显示分组,但没有得到。

以下是我的数据 -

正在寻找如下输出 -

这是我的查询 -

Select ID、名称、总和(金额)来自表 1 按名称分组按总和(金额)DESC 排序;

您可以使用 listagg(),但消除重复项很棘手,因为它不支持 distinct。一种方法使用 row_number()case:

select id,
       listagg(case when seqnum = 1 then name end, ',') within group (order by name desc) as names,
       sum(amount)
from (select t.*, row_number() over (partition by id, name order by id) as seqnum
      from table1 t
     ) t
group by id;

listagg() 忽略 NULL 个值。

Here 是一个 db<>fiddle.