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

MySQL में GROUP BY द्वारा लौटाई गई पंक्तियों की संख्या के अनुसार GROUP?

<घंटा/>

इसके लिए आप GROUP_CONCAT() का उपयोग कर सकते हैं। उपरोक्त अवधारणा को समझने के लिए, आइए एक तालिका बनाएं।

तालिका बनाने की क्वेरी इस प्रकार है

mysql> टेबल ग्रुप बनाएंByDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.31 सेकंड)

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

क्वेरी इस प्रकार है

mysql> GroupByDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> groupByDemo (नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.14 सेकंड)mysql> GroupByDemo (नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> groupByDemo (नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.24 सेकंड)mysql> groupByDemo (नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> groupByDemo (नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.17 सेकंड)mysql> GroupByDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> groupByDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.07 सेकंड)mysql> GroupByDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> groupByDemo (नाम) मान ('सैम') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.17 sec)mysql> groupByDemo(Name) value('Carol') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें।

क्वेरी इस प्रकार है

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

निम्न आउटपुट है

+-----+----------+| आईडी | नाम |+----+----------+| 1 | जॉन || 2 | कैरल || 3 | कैरल || 4 | बॉब || 5 | बॉब || 6 | बॉब || 7 | जॉन || 8 | जॉन || 9 | जॉन || 10 | सैम || 11 | कैरल |+-----+----------+11 पंक्तियों में सेट (0.00 सेकंड)

यहां पंक्तियों की संख्या के आधार पर समूह बनाने की क्वेरी है

mysql> सेलेक्ट काउंटर, GROUP_CONCAT(Name SEPARATOR ',') AllName के रूप में -> FROM (सेलेक्ट नेम, COUNT(Name) को काउंटर के रूप में -> GroupByDemo से -> ग्रुप बाय नेम) tbl -> ग्रुप बाय काउंटर -> ऑर्डर काउंटर डीईएससी द्वारा;

निम्न आउटपुट है

<पूर्व>+------+------------+| काउंटर | AllName |+---------+---------------+| 4 | जॉन | | 3 | कैरल, बॉब || 1 | सैम |+-----------+------------+3 पंक्तियों में सेट (0.00 सेकंड)
  1. MySQL में अंतिम 30 पंक्तियाँ प्राप्त करना

    MySQL में अंतिम 30 पंक्तियाँ प्राप्त करने के लिए, आपको DESC द्वारा ORDER और फिर LIMIT 30 का उपयोग करना होगा। सिंटैक्स इस प्रकार है - select * from yourTableName order by yourColumnName DESC LIMIT 30; आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1567    -> (    -&g

  1. MySQL में चयनित पंक्तियों का आकार प्राप्त करें

    चयनित पंक्तियों का आकार प्राप्त करने के लिए, CHAR_LENGTH() का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.87 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1612 मानों (बॉब, टेलर) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) च

  1. पंक्तियों को पुनः प्राप्त करते समय MySQL में AND, OR ऑपरेटर के बीच क्या अंतर है?

    AND, OR के बीच का अंतर यह है कि समग्र स्थिति के सही होने के लिए AND दोनों स्थितियों का मूल्यांकन सही होना चाहिए। समग्र स्थिति के सही होने के लिए OR मूल्यांकन करता है कि एक शर्त सही होनी चाहिए। आइए एक टेबल बनाएं - mysql> create table demo70 −> ( −> id int not null auto_increment