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

डुप्लीकेट चुनें और सबसे पुराना रखें (आईडी पर आधारित नहीं)

आपके नमूना डेटा और परिणामों के आधार पर, एक GROUP BY आपको वे परिणाम देगा जो आप चाहते हैं:

SELECT
  domain,
  MIN(creationdate) AS creationdate,
  value1,
  value2
FROM mytable
GROUP BY domain, value1, value2

परिशिष्ट :@Arka ने अद्यतन नमूना डेटा प्रदान किया जहां value 1 और value 2 स्तंभों के अलग-अलग मान हैं (मूल रूप में वे समान थे)। यह क्वेरी को इसमें बदल देता है:

SELECT domain, creationdate, value1, value2
FROM mytable
WHERE (domain, creationdate) IN (
  SELECT domain, MIN(creationdate)
  FROM mytable
  GROUP BY domain)

सबक्वेरी को जल्द से जल्द creationdate . की एक सूची मिलती है प्रत्येक domain . के लिए , और बाहरी क्वेरी केवल उन पंक्तियों का चयन करती है जहां domain और creationdate सबक्वेरी मानों से मेल खाते हैं।




  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. कनेक्शन पूल में कनेक्शन की इष्टतम संख्या

  3. इस एसक्यूएल प्रविष्टि PHP कोड को अनुकूलित कैसे करें?

  4. MySQL ट्रिगर/प्रक्रिया निष्पादन में देरी

  5. मैं जावा का उपयोग कर mysql डेटाबेस में अरबी शब्द कैसे सम्मिलित कर सकता हूं?