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

Oracle GROUP_CONCAT() Setara

Beberapa RDBMS memiliki GROUP_CONCAT() fungsi yang memungkinkan Anda mengembalikan kolom kueri sebagai daftar yang dibatasi (misalnya, daftar yang dipisahkan koma). MySQL dan MariaDB adalah dua yang memiliki fungsi seperti itu.

PostgreSQL dan SQL Server memiliki fungsi serupa yang disebut STRING_AGG() .

Oracle, di sisi lain, memiliki LISTAGG() fungsi yang melakukan hal yang hampir sama (dan mungkin lebih).

Jadi bisa dibilang LISTAGG() adalah GROUP_CONCAT() Oracle setara.

Contoh

Berikut adalah contoh dasar untuk mendemonstrasikan bagaimana LISTAGG() Oracle fungsi berfungsi:

SELECT LISTAGG(region_name, ',') 
FROM regions;

Hasil:

                      LISTAGG(REGION_NAME,',') 
______________________________________________ 
Europe,Americas,Asia,Middle East and Africa   

Dalam hal ini, saya menetapkan bahwa pemisahnya adalah koma.

Inilah yang terjadi ketika kita hanya melakukan kueri tanpa LISTAGG() fungsi:

SELECT region_name 
FROM regions;

Hasil:

              REGION_NAME 
_________________________ 
Europe                    
Americas                  
Asia                      
Middle East and Africa  

Kami mendapatkan empat baris, masing-masing dengan nilai terpisah, bukan satu baris yang dipisahkan koma yang berisi semua nilai.

LISTAGG() fungsi juga memungkinkan kami untuk memesan hasil, hanya mengembalikan nilai unik (melalui DISTINCT klausa), dan banyak lagi.

Lihat LISTAGG() Fungsi di Oracle untuk lebih banyak contoh.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mendapatkan usia dalam tahun, bulan, dan hari menggunakan Oracle

  2. Bagaimana cara mengimpor file XML di Oracle SQL Developer?

  3. Saran Menggunakan Tabel Pivot di Oracle

  4. Pengujian unit untuk PL/SQL

  5. Saya tidak mengerti Collation? (Mysql, RDBMS, Kumpulan karakter)