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

कार्ड और सेवा द्वारा उच्च मूल्य या प्रतिशत के साथ नवीनतम रिकॉर्ड और (संबंधों के मामले में) प्राप्त करने की क्वेरी

आपने उल्लेख नहीं किया है कि क्या कॉलम type . है किसी दिए गए card,service . के लिए भिन्न होता है जोड़ा। मान लें कि यह वही है, तो आपको नेस्टेड select . के साथ परिणाम प्राप्त करने में सक्षम होना चाहिए , type . सहित आंतरिक में select और group by

 SELECT card
    ,service
    ,CASE 
        WHEN type = 'v'
            THEN value
        ELSE perc
        END AS max_result
FROM (
    SELECT card
        ,service
        ,type
        ,MAX(date_t) AS Date_t
        ,MAX(value) KEEP (
            DENSE_RANK FIRST ORDER BY date_t DESC
            ) AS value
        ,MAX(percentage) KEEP (
            DENSE_RANK FIRST ORDER BY date_t DESC
            ) AS perc
    FROM yourtable
    GROUP BY card
        ,service
        ,type
    );

डेमो




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. COALESCE () Oracle में फ़ंक्शन

  2. SQL में डेटाबेस तालिका बनाना, अजीब त्रुटि

  3. पीएल/एसक्यूएल में ओरेकल डेटाबेस निर्भरता

  4. Oracle 11g CONNECT BY और एकाधिक तालिकाओं का उपयोग करके दृश्य बनाएँ

  5. SQL में अतिव्यापी दिनांक सीमा के साथ रिकॉर्ड खोजें