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

एसक्यूएल:पंक्तियों के क्रम को DISTINCT के साथ कैसे रखें?

distinct कुंजी शब्द वह कर रहा है जो उसे करना है, प्रत्येक पंक्ति को दिए गए कॉलम मान के साथ लौटाएं। विशिष्ट आपको कौनसा . निर्दिष्ट करने की अनुमति नहीं देता है ऐसी पंक्ति लौटा दी जाएगी, और यह मूल क्वेरी से स्पष्ट है कि इस तरह के आदेश की अनुमति है (आईडी 443 के साथ एक पंक्ति है जो आईडी 429 के साथ एक पंक्ति का अनुसरण करती है)।

कौन सी पंक्तियाँ वापस की जाएँगी इसका नियंत्रण लेने के लिए, आपको क्वेरी को पुन:स्वरूपित करने की आवश्यकता है। एक सामान्य समाधान जो मैं लूंगा वह है group by . का उपयोग करना , समूह कॉलम और प्रत्येक समूह से वांछित पंक्ति का चयन, कुछ प्रभाव के लिए

SELECT message.id, MAX(message.created_at) FROM message GROUP BY message.id;

यदि मुझे और अधिक करने की आवश्यकता है, तो मैं इस प्रकार की क्वेरी को एक बड़ी क्वेरी में उप-चयन के रूप में उपयोग करूंगा, संभवतः पसंदीदा पंक्ति से अधिक फ़ील्ड प्राप्त करने के लिए आईडी फ़ील्ड में शामिल हो रहा हूं, या किसी विशेष तरीके से क्वेरी को ऑर्डर कर रहा हूं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP सत्र आईडी स्ट्रिंग की लंबाई क्या है?

  2. डेटाबेस में अरबी अक्षर क्यों नहीं डाले जा रहे हैं?

  3. क्या मुझे MySQL ब्लॉब फ़ील्ड प्रकार का उपयोग करना चाहिए?

  4. MS SQL सर्वर में MySQL डेटाबेस आयात करें

  5. mysql तालिका से पहला और अंतिम रिकॉर्ड कैसे खोजें?