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

अधिकतम मूल्य के साथ अलग-अलग पंक्तियां कैसे प्राप्त करें

SELECT id, authorId, answer, votes
FROM (  SELECT id, authorId, answer, votes
        FROM answers
        ORDER BY votes DESC) AS h
GROUP BY authorId

यह छोटी सी साफ-सुथरी ट्रिक GROUP BY . के आधार पर बनाई गई है प्रत्येक मामले की पहली पंक्ति को पुनः प्राप्त करने के लिए। आमतौर पर यह डिफ़ॉल्ट रूप से होता है ORDER BY id ASC , लेकिन इस उप क्वेरी के माध्यम से, प्रत्येक authorId . में पहली पंक्ति उच्चतम votes . के साथ ।

नोट: जैसा कि इयान एल्डर ने उल्लेख किया है, यह समाधान ONLY_FULL_GROUP_BY के साथ काम नहीं करता है सक्रिय और केवल MySQL में काम करता है। इस व्यवहार की पुष्टि करने वाले दस्तावेज़ीकरण की कमी के कारण यह समाधान कुछ हद तक असमर्थित है। यह मेरे लिए अच्छा काम करता है और हालांकि हमेशा मेरे लिए अच्छा काम करता है।

यह विधि अभी भी नवीनतम MySQL on sqlfiddle पर काम करती है। ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CentOS7 पर MySQL रूट अकाउंट का पासवर्ड कैसे बदलें?

  2. रेल सत्यापन विशिष्टता समवर्ती इनपुट पर विफल रहता है

  3. MySQL में कार्डिनैलिटी क्या है?

  4. Mysql में अक्षांश और देशांतर का उपयोग करके दो बिंदुओं के बीच की दूरी का पता लगाएं

  5. क्या मुझे टेबल कॉलम में कोई डेटा नहीं दर्शाने के लिए NULL या खाली स्ट्रिंग का उपयोग करना चाहिए?