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