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

Oracle पंक्ति के एकाधिक स्तंभों पर धुरी का उपयोग करना

जैसा कि प्रलेखन से पता चलता है, आपके पास कई समग्र कार्य खंड हो सकते हैं। तो आप यह कर सकते हैं:

select * from (
  select * from tab1
)
pivot (
  count(type) as ct, sum(weight) as wt, sum(height) as ht
  for type in ('A' as A, 'B' as B, 'C' as C)
);

A_CT A_WT A_HT B_CT B_WT B_HT C_CT C_WT C_HT
---- ---- ---- ---- ---- ---- ---- ---- ----
   2  110   22    1   40    8    1   30   15 

यदि आप अपने द्वारा दिखाए गए क्रम में कॉलम चाहते हैं तो सबक्वायरी का एक और स्तर जोड़ें:

select a_ct, b_ct, c_ct, a_wt, b_wt, c_wt, a_ht, b_ht, c_ht
from (
  select * from (
    select * from tab1
  )
  pivot (
    count(type) as ct, sum(weight) as wt, sum(height) as ht
    for type in ('A' as A, 'B' as B, 'C' as C)
  )
);

A_CT B_CT C_CT A_WT B_WT C_WT A_HT B_HT C_HT
---- ---- ---- ---- ---- ---- ---- ---- ----
   2    1    1  110   40   30   22    8   15 

एसक्यूएल फिडल।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समवर्ती प्रबंधक में अनुरोध सेट

  2. CURRENT_TIMESTAMP () Oracle में फ़ंक्शन

  3. Oracle में एक यूनिक्स टाइमस्टैम्प को दिनांक मान में बदलें

  4. एनएलएस पैरामीटर और उनकी प्राथमिकताएं निर्धारित करने के तरीके (ओरेकल डेटाबेस)

  5. बाहरी जुड़ने वाली क्वेरी Oracle 12c में अलग तरह से व्यवहार करती है