आप इसके लिए कुछ शर्त के साथ DELETE कमांड का उपयोग कर सकते हैं क्योंकि हमें एक रिकॉर्ड रखने और बाकी डुप्लिकेट रिकॉर्ड को हटाने की आवश्यकता है।
आइए पहले एक टेबल बनाएं -
mysql> टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(40));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.48 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें -
mysql> डेमोटेबल (स्टूडेंटनाम) वैल्यू ('जॉन') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल (स्टूडेंटनाम) वैल्यू ('कैरोल') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित ( 0.17 सेकंड)mysql> डेमोटेबल (छात्रनाम) मान ('सैम') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.28 सेकंड) mysql> डेमोटेबल (छात्र नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.14 सेकंड)mysql> डेमोटेबल (स्टूडेंटनाम) वैल्यू ('डेविड') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> डेमोटेबल (स्टूडेंटनाम) वैल्यू ('कैरोल') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित ( 0.26 सेकंड)
चुनिंदा कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+-----------+---------------+| छात्र आईडी | छात्र का नाम |+-----------+---------------+| 1 | जॉन || 2 | कैरल || 3 | सैम || 4 | कैरल || 5 | डेविड || 6 | कैरल |+-----------+----------------+6 पंक्तियों में सेट (0.00 सेकंड)यहां एक रिकॉर्ड को छोड़कर डुप्लिकेट रिकॉर्ड को हटाने की क्वेरी है -
mysql> DemoTable tbl1, DemoTable tbl2WHEREtbl1.StudentName =tbl2.StudentName और tbl1.StudentId> tbl2.StudentId;क्वेरी ओके से tbl1 को हटाएं, 2 पंक्तियां प्रभावित हुई (0.79 सेकंड)
उपरोक्त क्वेरी ने "कैरोल" के लिए 2 पंक्तियों को हटा दिया और "कैरोल" रिकॉर्ड में से एक को छोड़ दिया।
आइए अब तालिका के रिकॉर्ड प्रदर्शित करते हैं -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+-----------+---------------+| छात्र आईडी | छात्र का नाम |+-----------+---------------+| 1 | जॉन || 2 | कैरल || 3 | सैम || 5 | डेविड |+-----------+------------+4 पंक्तियों में सेट (0.00 सेकंड)