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

Oracle में समान मान कैसे प्राप्त करें

यहां एक समाधान है जो MySQL के लिए काम करेगा। यह समूह को एक साथ जोड़ने के लिए चयन खंड में एक सहसंबद्ध उपश्रेणी का उपयोग करता है Col2 मूल्य। तर्क यह है कि हम एक ही Col1 को साझा करने वाले रिकॉर्ड के दिए गए समूह के लिए केवल उन मानों को एकत्रित करते हैं जो वर्तमान पंक्ति से कम या उसके बराबर हैं। मूल्य।

SELECT
    Col1,
    (SELECT GROUP_CONCAT(t2.Col2 ORDER BY t2.Col2) FROM yourTable t2
     WHERE t2.Col2 <= t1.Col2 AND t1.Col1 = t2.Col1) Col2
FROM yourTable t1
ORDER BY
    t1.Col1,
    t1.Col2;

डेमो

यहाँ Oracle में वही क्वेरी है:

SELECT
    Col1,
    (SELECT LISTAGG(t2.Col2, ',') WITHIN GROUP (ORDER BY t2.Col2) FROM yourTable t2
     WHERE t2.Col2 <= t1.Col2 AND t1.Col1 = t2.Col1) Col2
FROM yourTable t1
ORDER BY
    t1.Col1,
    t1.Col2;

डेमो

ध्यान दें कि केवल वास्तविक परिवर्तन LISTAGG . को प्रतिस्थापित कर रहा है GROUP_CONCAT . के लिए ।



  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. नोड JS के साथ mysql में रिकॉर्ड्स की सरणी डालें

  3. mysql:दोहराए गए मान प्लस कंडीशन वाली पंक्तियां ढूंढें

  4. पीडीओ बाइंडपरम () कई नामित मापदंडों के साथ

  5. जावा में तैयार स्टेटमेंट के साथ LIMIT कमांड का उपयोग करते हुए MySQL सिंटैक्स त्रुटि