Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL "ऑर्डर बाय" "ग्रुप बाय" के अंदर? क्या यह संभव है?

<घंटा/>

GROUP BY के अंदर ORDER BY का उपयोग करने के बजाय, आप MAX() समग्र फ़ंक्शन का उपयोग कर सकते हैं।

वाक्य रचना इस प्रकार है -

अपना नाम कॉलम नाम चुनें, MAX (आपका रैंक कॉलम नाम) अपने टेबलनाम समूह से अपने नाम कॉलम नाम से चुनें;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> तालिका बनाएं MaxDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20), -> UserRank int -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.77 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> MaxDemo (उपयोगकर्ता नाम, उपयोगकर्ता रैंक) मान ('लैरी', 2) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> MaxDemo (उपयोगकर्ता नाम, उपयोगकर्ता रैंक) मान ('सैम', 1) में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड)mysql> MaxDemo(UserName,UserRank) मानों में डालें('सैम',2);क्वेरी ओके, 1 पंक्ति प्रभावित (0.15 सेकंड)

अब आप एक सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है -

mysql> MaxDemo से *चुनें;

आउटपुट

<पूर्व>+----------+----------+----------+| उपयोगकर्ता आईडी | उपयोगकर्ता नाम | यूजररैंक |+----------+----------+----------+| 1 | लैरी | 2 || 2 | सैम | 1 || 3 | सैम | 2 |+----------+----------+----------+3 पंक्तियाँ सेट में (0.00 सेकंड)

अपना परिणाम प्राप्त करने के लिए MAX() फ़ंक्शन का उपयोग करने की क्वेरी यहां दी गई है -

mysql> उपयोगकर्ता नाम के अनुसार MaxDemo समूह से UserName,MAX(UserRank) चुनें;

आउटपुट

<पूर्व>+----------+----------------------------+| उपयोगकर्ता नाम | मैक्स (यूजररैंक) |+----------+---------------+| लैरी | 2 || सैम | 2 |+----------+---------------+2 पंक्तियाँ सेट में (0.00 सेकंड)
  1. - एक एकल MySQL क्वेरी में GROUP BY के साथ FIELD द्वारा ऑर्डर कैसे करें?

    इसके लिए सबसे पहले एक टेबल बनाते हैं - mysql> create table DemoTable (    Message text ); Query OK, 0 rows affected (1.15 sec) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - mysql> insert into DemoTable values('Good'); Query OK, 1 row affected (0.43 sec) mysql> i

  1. - आईडी द्वारा अलग समूह के लिए MySQL क्वेरी?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Id int, Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.64 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (400, माइक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) चयन कथन का उपयोग करके तालिका से सभी

  1. - एकाधिक आईडी द्वारा MySQL क्वेरी ऑर्डर करें?

    इसके लिए ORDER BY FIELD() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(ClientId varchar(40), ClientName varchar(40));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.55 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (2000_बॉब, बॉब); क्वेरी ठीक है, 1