Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pobierz różne wartości za pomocą LITAGG w Oracle 12C

Potrzebny będzie dodatkowy krok:najpierw znajdź odrębne wartości, a następnie je zagreguj. Na przykład:

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. Oracle:czy kolejność kolumn ma znaczenie w indeksie?

  2. Podstępny numer GROUP BY na ORACLE

  3. Wypełnij wartości do listy rozwijanej na podstawie innego wyboru rozwijanego za pomocą JSTL

  4. Czy można dokonać selekcji do tabeli typu obiektu?

  5. Expdp ze środowiska Oracle RAC