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

डीईएससी आदेश द्वारा समूह कैसे करें

यदि आप अंतिम id चाहते हैं प्रत्येक asker . के लिए , तो आपको एक समग्र फ़ंक्शन का उपयोग करना चाहिए:

SELECT max(id) as id, 
   asker
FROM questions 
GROUP by asker 
ORDER by id DESC

आपको असामान्य परिणाम मिलने का कारण यह है कि MySQL GROUP BY . के एक्सटेंशन का उपयोग करता है जो एक चुनिंदा सूची में आइटम को गैर-समेकित होने और ग्रुप बाय क्लॉज में शामिल नहीं करने की अनुमति देता है। हालांकि यह अप्रत्याशित परिणाम दे सकता है क्योंकि MySQL लौटाए गए मानों को चुन सकता है। (देखें MySQL एक्‍सटेंशन टू ग्रुप बाय )

MySQL डॉक्स से:

अब यदि आपके पास अन्य कॉलम हैं जिन्हें आपको तालिका से वापस करने की आवश्यकता है, लेकिन उन्हें GROUP BY में जोड़ना नहीं चाहते हैं असंगत परिणामों के कारण जो आप प्राप्त कर सकते हैं, तो आप ऐसा करने के लिए एक सबक्वायरी का उपयोग कर सकते हैं। (डेमो )

select 
  q.Id,
  q.asker,
  q.other -- add other columns here
from questions q
inner join
(
  -- get your values from the group by
  SELECT max(id) as id, 
    asker
  FROM questions 
  GROUP by asker 
) m
  on q.id = m.id
order by q.id desc


  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 में दूरस्थ MySQL डेटाबेस को कैसे कनेक्ट करें

  2. मेरा MySQL सर्वर कौन सा संस्करण है?

  3. एक और mysqld सर्वर पोर्ट 3306 त्रुटि पर चल रहा है

  4. PERIOD_ADD () उदाहरण – MySQL

  5. अलग-अलग पंक्तियों के लिए MYSQL योग ()