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

MySQL में टेबल से डुप्लिकेट कॉलम कैसे हटाएं

समाधान

INNER JOIN के साथ DELETE का उपयोग करके डुप्लिकेट पंक्तियाँ हटाएं (नवीनतम ID रखें)।

सिंटैक्स

DELETE tbl1 FROM yourTableName tbl1
INNER JOIN yourTableName tbl2
WHERE tbl1.id < tbl2.id AND tbl1.name = tbl2.name;

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE demo14 (
    -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> name VARCHAR(30)
    -> );
mysql> INSERT INTO demo14 (name) VALUES ('John'), ('David'), ('David'), ('Bob'), ('John'), ('Carol');

हटाने से पहले

+----+-------+
| id | name  |
+----+-------+
| 1  | John  |
| 2  | David |
| 3  | David |
| 4  | Bob   |
| 5  | John  |
| 6  | Carol |
+----+-------+

डिलीट क्वेरी

mysql> DELETE tbl1 FROM demo14 tbl1
    -> INNER JOIN demo14 tbl2
    -> WHERE tbl1.id < tbl2.id AND tbl1.name = tbl2.name;

हटाने के बाद

+----+-------+
| id | name  |
+----+-------+
| 3  | David |
| 4  | Bob   |
| 5  | John  |
| 6  | Carol |
+----+-------+

तर्क: सेल्फ-जOIN में tbl1.id < tbl2.id यह सुनिश्चित करता है कि प्रत्येक डुप्लिकेट जोड़ी के लिए केवल पुरानी पंक्ति (कम ID) हटाई जाती है, नवीनतम बनी रहती है।

  1. - MySQL में ऑटो-इन्क्रीमेंट मान को 1 से शुरू करने के लिए कैसे सेट करें

    TRUNCATE TABLE के साथ ऑटो-इन्क्रीमेंट रीसेट करना टेबल को ट्रंकेट करके ऑटो-इन्क्रीमेंट मान को 1 से पुनः आरंभ करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable VALUES ();

  1. - MySQL समय को HH:MM:SS से HH:MM में बदलें

    TIME_FORMAT() फंक्शन का उपयोग करके समय फॉर्मेट बदलना बदलने के लिए MySQL TIME_FORMAT() का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1419 ( ArrivalTime time ); Query OK, 0 rows affected (0.78 sec) रिकॉर्ड डालें। यहां हमने समय रिकॉर्ड डाले हैं: insert into DemoTable1419 values(09:59:34); Que

  1. - MySQL में SUBSTRING_INDEX से स्ट्रिंग से दिनांक निकालें

    MySQL में SUBSTRING_INDEX() फ़ंक्शन का उपयोग करके स्ट्रिंग के अंतिम भाग से दिनांक निकाल सकते हैं जब दिनांक एक ज्ञात विभाजक के बाद आता है। सिंटैक्स SUBSTRING_INDEX(SUBSTRING_INDEX(स्ट्रिंग, विभाजक, -1), विभाजक, 1) उदाहरण: लेबल.दिनांक प्रारूप से दिनांक निकालना 1. टेबल बनाएं ); 2. डेटा डालें INSE