sql >> Database >  >> RDS >> Oracle

Meerdere rijen samenvoegen en groeperen in Oracle

Overweeg om de LISTAGG-functie te gebruiken als u 11g gebruikt:

select grp, listagg(name,',') within group( order by name ) 
  from name_table group by grp

sqlFiddle

upd: Als je dat niet bent, overweeg dan om analyses te gebruiken:

select grp,
    ltrim(max(sys_connect_by_path
       (name, ',' )), ',')
        scbp
  from (select name, grp,
            row_number() over
           (partition by grp
            order by name) rn
         from tab
          )
start with rn = 1
connect by prior rn = rn-1
and prior grp = grp
  group by grp
  order by grp

sqlFiddle




  1. Stap voor stap R12.2.6 EBS-installatie op Virtual Box

  2. Altijd een database nodig voor je app?

  3. kolom niet toegestaan ​​hier fout in INSERT-instructie

  4. Hoe het SQL-queryresultaat naar PANDAS-gegevensstructuur te converteren?