Oracle SQL组通过查询,PIVOT种类

时间:2013-04-09 17:46:09

标签: sql oracle string-aggregation

直到现在我还没有必要发布查询,几乎所有内容都可用。这是我的第一个问题。

我有不同的要求,我有下表名称说alarmdb

------------------ INT_ID ---------------------------- ------------------------- ALARM_NUMBER ------------------------ ----

             101212121                               7762
             101212121                               8212
             101212121                               3423
             101313131                               7734
             101313131                               7743

基本上是它的分组和旋转。最终输出可以是这样的。

------------------ INT_ID ---------------------------- ------------------------- ALARM_NUMBER ------------------------ ----

             101212121                           7762,8212,3423
             101313131                               7734,7743

将许多单元格数据缩小为一种。

任何人都可以建议。

1 个答案:

答案 0 :(得分:2)

根据您的Oracle版本,您有不同的选择。

您可以将LISTAGG用于Oracle 11g +:

select int_id,
  listagg(alarm_number, ', ') within group (order by int_id) as alarm_number
from yourtable
group by int_id;

请参阅SQL Fiddle with Demo

或者您可以将wm_concat()用于早期版本:

select int_id,
  wm_concat(alarm_number) as alarm_number
from yourtable
group by int_id