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

Oracle LISTAGG() untuk beberapa atribut?

select K, listagg(case when chgv1 = 1 then v1 else null end,',') within group (order by v1) as v1lst, --Only consider cases in listagg when rows have changed
          listagg(case when chgv2 = 1 then v2 else null end,',') within group (order by v2) as v2lst  --Only consider cases in listagg when rows have changed
from (
 select k, v1, v2,
        row_number() over (partition by k,v1 order by v1 ) as chgv1, --Detect changes in v1. In this case it's 1.
        row_number() over (partition by k,v2 order by v1 ) as chgv2  --Detect changes in v1. In this case it's 1.
 from t)
group by k;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah satu skema memiliki banyak pengguna?

  2. Toad untuk Oracle..Bagaimana cara mengeksekusi banyak pernyataan?

  3. Berapa lama waktu yang dibutuhkan untuk menjadi cukup mahir dalam Oracle dengan SQL Server

  4. Bagaimana cara menjalankan total dari kolom kedua?

  5. Cara mengurai data di dalam CDATA di Oracle