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

Mysql तालिका में अधिकतम मान पंक्ति का चयन कैसे करें

आपको group by . पर पढ़ना होगा खंड।

प्रक्रिया में भ्रम की शुरुआत करते हुए, MySQL की तुलना में इसे बहुत अधिक अनुमेय किया जा रहा है। मूल रूप से, बिना समुच्चय के किसी भी कॉलम को group by . में शामिल किया जाना चाहिए खंड। लेकिन MySQL वाक्य रचनात्मक चीनी कॉलम को "भूलने" की अनुमति देता है। जब आप ऐसा करते हैं, तो MySQL उस सेट से एक मनमाना मान निकालता है जिसके द्वारा वह समूह बना रहा है। आपके मामले में, सेट में पहली पंक्ति bob . है , तो यह उसे लौटा देता है।

आपका पहला स्टेटमेंट (max() . का इस्तेमाल करके) बिना group by . के ) बस गलत है।

यदि आप सबसे पुराने उपयोगकर्ताओं में से एक चाहते हैं, order by age desc limit 1 आगे बढ़ने का सही तरीका है।

यदि आप सभी सबसे पुराने उपयोगकर्ता चाहते हैं, तो आपको एक उप-चयन की आवश्यकता है:

SELECT p.* FROM people p WHERE p.age = (select max(subp.age) from people subp);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में एक स्ट्रिंग में वर्णों के क्रम को कैसे उलटें?

  2. Java.sql.DriverManager.getConnection(...) क्यों लटक रहा है?

  3. PHP में MySQL डेटाबेस का बैकअप कैसे लें?

  4. MySQL त्रुटि कोड:1175 MySQL कार्यक्षेत्र में अद्यतन के दौरान

  5. किसी अन्य कॉलम में प्रत्येक विशिष्ट मान के लिए योग कैसे प्राप्त करें?