Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Ambil nilai yang berbeda dengan LISTAGG di Oracle 12C

Anda memerlukan langkah tambahan:pertama temukan nilai yang berbeda, lalu gabungkan. Misalnya:

SQL> with test (id, col) as
  2    (select 1, 'x' from dual union all
  3     select 1, 'x' from dual union all
  4     --
  5     select 2, 'w' from dual union all
  6     select 2, 't' from dual union all
  7     select 2, 'w' from dual union all
  8     --
  9     select 3, 'i' from dual
 10    ),
 11  -- first find distinct values ...
 12  temp as
 13    (select distinct id, col from test)
 14  -- ... then aggregate them
 15  select id,
 16         listagg(col, ';') within group (order by col) result
 17  from temp
 18  group by id;

        ID RESULT
---------- ----------
         1 x
         2 t;w
         3 i

SQL>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konversi Oracle varchar2 ke nvarchar2

  2. Bagaimana cara menambahkan spasi di depan nomor saya jika itu adalah satu digit?

  3. Sakit kepala format stempel waktu Oracle sqlldr

  4. SQL*Plus CSV Ekspor lebih lambat dari SQL Developer

  5. Fungsi panggilan VBA melalui VBA dan ADO