聚合函数将多行中的值汇总到一个结果行中
Posted
技术标签:
【中文标题】聚合函数将多行中的值汇总到一个结果行中【英文标题】:Aggregate function to sum values from multiple rows into one result row 【发布时间】:2020-05-06 14:10:17 【问题描述】:自从我使用 Oracle SQL 数据透视函数以来已经有好几年了,对于这个简短的示例,我无法完全使用它。
我想转换此表中的多个列/行
ID CLASS NAME WHEIGHT
1 2020 Tom 80
2 2020 Tim 100
3 2020 Ben 120
进入这个单一的结果行:
CLASS LISTAGG_NAMES SUM_WHEIGHT
2020 Tom,Tim,Ben 300
非常感谢您的帮助!
【问题讨论】:
【参考方案1】:这不是“枢轴”问题。您不希望每个值都有单独的列。您只想连接它们。使用listagg()
:
select class, listagg(name, ',') within group (order by weight) as names, sum(weight)
from t
group by class;
【讨论】:
谢谢你,戈登,成功了。我还更改了问题标题以上是关于聚合函数将多行中的值汇总到一个结果行中的主要内容,如果未能解决你的问题,请参考以下文章