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 पंक्तिया