Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एकाधिक विशेषताओं के लिए Oracle LISTAGG ()?

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. SQL में कई मान कैसे हटाएं?

  2. रिमोट क्लाइंट से Oracle 10g से कैसे जुड़ें?

  3. लगातार दिनांक वैधता अंतराल को एक साथ जोड़ना

  4. एकाधिक csv फ़ाइलों में तालिका निर्यात करने की प्रक्रिया

  5. OracleException (0x80004005) Oracle डेटाबेस से कनेक्ट करते समय