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

Oracle sql एकल कॉलम में विभिन्न मानों के उदाहरणों की गणना करने के लिए

यदि आप Oracle 11g का उपयोग कर रहे हैं, तो आप PIVOT . का उपयोग कर सकते हैं समारोह:

select *
from
(
  select tkey, status, 
    status as col
  from tableB b
  left join tableA a
    on a.fkey = b.fkey
) src
pivot
(
  count(status)
  for col in ('20' as Count_Status20, 
              '30' as Count_Status30,
              '40' as Count_Status40)
) piv;

डेमो के साथ SQL Fiddle देखें

यदि आप Oracle11g का उपयोग नहीं कर रहे हैं, तो आप CASE . के साथ एक समग्र फ़ंक्शन का उपयोग कर सकते हैं कथन:

select tkey, 
  count(case when status = 20 then 1 else null end) as Count_Status20,
  count(case when status = 30 then 1 else null end) as Count_Status30,
  count(case when status = 40 then 1 else null end) as Count_Status40
from tableB b
left join tableA a
  on b.fkey = a.fkey
group by tkey

डेमो के साथ SQL Fiddle देखें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC में संग्रहीत कार्यविधि को कैसे कॉल करें

  2. तृतीय-पक्ष क्लाउड पर Oracle RAC

  3. Oracle में Coalesce फ़ंक्शन का उपयोग कैसे करें

  4. Oracle sql क्वेरी में शामिल होने के साथ हटाएं

  5. ओरेकल डेटाबेस में तत्काल निष्पादन के साथ तालिका डीडीएल कैसे चलाएं