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

Zwróć wyniki zapytania jako listę oddzieloną przecinkami w Oracle

W Oracle możemy użyć LISTAGG() funkcja konwertująca wyniki zapytania do listy oddzielonej przecinkami.

Tak więc, zamiast każdej wartości wyprowadzanej w osobnym wierszu, wszystkie wartości są wyprowadzane w jednym wierszu, oddzielonym przecinkiem (lub innym wybranym przez nas ogranicznikiem).

Przykład

Wyobraź sobie, że uruchamiamy następujące zapytanie:

SELECT last_name 
FROM employees
WHERE job_id = 'IT_PROG';

Wynik:

   LAST_NAME 
____________ 
Hunold       
Ernst        
Austin       
Pataballa    
Lorentz      

To zapytanie zwróciło pięć wierszy, każdy z inną wartością.

Jeśli chcemy, aby te wartości były wyprowadzane w jednym wierszu, możemy wykonać następujące czynności:

SELECT LISTAGG(last_name, ', ')
FROM employees
WHERE job_id = 'IT_PROG';

Wynik:

                      LISTAGG(LAST_NAME,',') 
____________________________________________ 
Hunold, Ernst, Austin, Pataballa, Lorentz    

Jedyne, co zrobiliśmy, to przekazanie nazwy kolumny do LISTAGG() funkcję, a także wybrany przez nas ogranicznik.

Możemy użyć innego ogranicznika lub całkowicie pominąć ten argument, aby wszystkie elementy były połączone.

Funkcja akceptuje również DISTINCT klauzula (aby usunąć zduplikowane wartości) i ORDER BY klauzula (w celu uporządkowania wyjścia funkcji).

Funkcja może być również bardzo przydatna podczas grupowania wyników zapytań.

Zobacz LISTAGG() Funkcja w Oracle, aby uzyskać więcej przykładów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generowanie liczby losowej w każdym wierszu w zapytaniu Oracle

  2. Przewodnik krok po kroku dotyczący instalacji MySQL w systemie Windows

  3. Jak zaktualizować za pomocą wewnętrznego sprzężenia w Oracle

  4. Gdzie jest mój nieprawidłowy znak (ORA-00911)

  5. Odzyskiwanie plików edytora SQL (zapytania, procedury) po awarii lub zawieszeniu się ropuchy w przypadku awarii lub zawieszenia Oracle