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

डुप्लिकेट रिकॉर्ड को एक विशिष्ट मान के रूप में प्रदर्शित करें जिसमें MySQL में अलग-अलग अल्पविराम से अलग सूची के रूप में संबंधित मान हों?

<घंटा/>

इसके लिए आप GROUP_CONCAT() का इस्तेमाल कर सकते हैं। अलग-अलग रिकॉर्ड लाने के लिए आपको DISTINCT का भी उपयोग करना होगा। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40), Score int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.53 सेकंड)

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

mysql> डेमोटेबल (नाम, स्कोर) मान ('क्रिस', 56) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> डेमोटेबल (नाम, स्कोर) मान ('रॉबर्ट', 78) में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड)mysql> डेमोटेबल (नाम, स्कोर) मान ('क्रिस', 56) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.42 सेकंड) mysql> डेमोटेबल (नाम, स्कोर) में डालें मान ('बॉब', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> डेमोटेबल (नाम, स्कोर) मान ('क्रिस', 56) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) mysql> डेमोटेबल (नाम, स्कोर) मान ('क्रिस', 57) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड)

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

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट का उत्पादन करेगा। यहां, हमने डुप्लिकेट "स्कोर" मानों के साथ "नाम" रिकॉर्ड दोहराया है -

+-----+--------+----------+| आईडी | नाम | स्कोर |+----+--------+-------+| 1 | क्रिस | 56 || 2 | रॉबर्ट | 78 || 3 | क्रिस | 56 || 4 | बॉब | 89 || 5 | क्रिस | 56 || 6 | क्रिस | 57 |+----+-----------+-------+6 पंक्तियाँ सेट में (0.00 सेकंड)

तालिका से लूप रिकॉर्ड की क्वेरी निम्नलिखित है जो पहले से ही ग्रुप बाय का उपयोग करती है -

mysql> नाम से डेमोटेबल समूह से नाम, group_concat(DISTINCT स्कोर विभाजक ',') चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+------ --------+| नाम | group_concat(DISTINCT स्कोर सेपरेटर ',') |+--------+---------------------------- --------------+| बॉब | 89 || क्रिस | 56,57 || रॉबर्ट | 78 |+-----------+------------------------------------------ ------+3 पंक्तियाँ सेट में (0.00 सेकंड)
  1. - MySQL में संबंधित डुप्लिकेट कॉलम मानों वाले कॉलम से न्यूनतम पंक्ति मान का चयन करें

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1875 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Class varchar(20), Amount int );क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1875(Class,Amount) value(Z,2050) में डालें; क्वेरी ठीक है,

  1. - MySQL में अलग कॉलम नाम प्रदर्शित करें

    आइए एक टेबल बनाएं - टेबल बनाएं DemoTable1996(शिपिंगडेट डेटटाइम, CustomerName varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.84 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल1996 मानों में डालें(2019-12-20 12:10:00,बॉब);क्वेरी ओके , 1 पंक्ति प्रभावित (0.14 सेकंड) चयन कथ

  1. - MySQL में संबंधित डुप्लिकेट आईडी वाले कॉलम (फ़्लोटिंग मान) से न्यूनतम मान प्राप्त करें

    संबंधित डुप्लिकेट आईडी वाले कॉलम से न्यूनतम मान प्राप्त करने के लिए, GROUP BY और MIN() - का उपयोग करें अपने कॉलमनाम द्वारा अपनेटेबलनाम समूह से न्यूनतम (आपका कॉलमनाम) चुनें; ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं - टेबल बनाएं DemoTable2005(Id int, Price float);क्वेरी ओके, 0 पंक्तिया