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

एसक्यूएल क्वेरी में बाएं जॉइन के क्रम को कैसे क्रमबद्ध करें?

MAX का उपयोग करके देखें GROUP BY . के साथ ।

SELECT u.userName, MAX(c.carPrice)
FROM users u
    LEFT JOIN cars c ON u.id = c.belongsToUser
WHERE u.id = 4;
GROUP BY u.userName;

अधिक जानकारी GROUP BY . के बारे में

ग्रुप बाय क्लॉज का उपयोग चयनित रिकॉर्ड को कॉलम द्वारा समूह के अद्वितीय संयोजनों के आधार पर समूहों में विभाजित करने के लिए किया जाता है। यह तब हमें कुल कार्यों (जैसे MAX, MIN, SUM, AVG, ...) का उपयोग करने की अनुमति देता है जो बदले में रिकॉर्ड के प्रत्येक समूह पर लागू होंगे। डेटाबेस प्रत्येक समूह के लिए एकल परिणाम रिकॉर्ड लौटाएगा।

उदाहरण के लिए, यदि हमारे पास इस तरह की तालिका में समय और स्थान के साथ तापमान का प्रतिनिधित्व करने वाले रिकॉर्ड का एक सेट है:

Location   Time    Temperature
--------   ----    -----------
London     12:00          10.0
Bristol    12:00          12.0
Glasgow    12:00           5.0
London     13:00          14.0
Bristol    13:00          13.0
Glasgow    13:00           7.0
...

फिर यदि हम स्थान के आधार पर अधिकतम तापमान ज्ञात करना चाहते हैं, तो हमें तापमान रिकॉर्ड को समूहों में विभाजित करने की आवश्यकता है, जहां किसी विशेष समूह में प्रत्येक रिकॉर्ड का स्थान समान होता है। फिर हम प्रत्येक समूह का अधिकतम तापमान ज्ञात करना चाहते हैं। ऐसा करने की क्वेरी इस प्रकार होगी:

SELECT Location, MAX(Temperature)
FROM Temperatures
GROUP BY Location;


  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. लोड डेटा कमांड के बिना डेटाबेस को पॉप्युलेट करना

  4. MySQL त्रुटि 1005 (HY000):'foo.#sql-12c_4' तालिका नहीं बना सकता (त्रुटि:150)

  5. MySQL:क्या एकाधिक पंक्तियों को group_concat करना संभव है?