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

डुप्लिकेट कॉलम मानों से रिकॉर्ड फ़िल्टर करने के लिए MySQL सशर्त GROUP BY को NOT IN के साथ लागू करें

<घंटा/>

आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं डेमोटेबल (नाम वर्कर (40), स्कोर इंट); क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.48 सेकंड)

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

mysql> डेमोटेबल मानों में डालें ('एडम', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> डेमोटेबल मानों में डालें ('एडम', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) )mysql> डेमोटेबल मानों में डालें ('क्रिस', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> डेमोटेबल मानों में डालें ('क्रिस', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें ('बॉब', 98); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> डेमोटेबल मानों में डालें ('बॉब', 89); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) 

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

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

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

<पूर्व>+----------+----------+| नाम | स्कोर |+----------+----------+| एडम | 89 || एडम | 89 || क्रिस | 89 || क्रिस | 89 || बॉब | 98 || बॉब | 89 |+----------+-------+6 पंक्तियाँ सेट में (0.00 सेकंड)

NOT IN() -

. का उपयोग करके सशर्त समूह प्राप्त करने के लिए क्वेरी निम्नलिखित है
mysql> डेमोटेबल से अलग नाम चुनें जहां Namenot in (DemoTable से नाम चुनें जहां स्कोर <> 89);

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

<पूर्व>+----------+| नाम |+----------+| एडम || क्रिस |+----------+q2 पंक्तियों में सेट (0.06 सेकंड)
  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 समूह में टाइमस्टैम्प से पहली तारीख प्राप्त करें

    इसके लिए आप एग्रीगेट फंक्शन MIN() और GROUP BY का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1870 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int, ShippingTimestamp varchar(100));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिक

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

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