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

MySQL में DELETE LIMIT 1 से डुप्लिकेट में से एक रिकॉर्ड हटाएं

डुप्लिकेट रिकॉर्ड वाली टेबल से केवल एक रिकॉर्ड हटाने के लिए DELETE ... LIMIT 1 का उपयोग करें।

सिंटैक्स

DELETE FROM टेबल_नाम WHERE कॉलम_नाम = मान LIMIT 1;

उदाहरण

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable (Amount INT);

2. डेटा डालें (50 तीन बार)

mysql> INSERT INTO DemoTable VALUES(50), (100), (50), (70), (90), (50);

3. सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+--------+
| Amount |
+--------+
| 50     |
| 100    |
| 50     |
| 70     |
| 90     |
| 50     |
+--------+

4. एक '50' हटाएं

mysql> DELETE FROM DemoTable WHERE Amount = 50 LIMIT 1;

5. परिणाम

mysql> SELECT * FROM DemoTable;
+--------+
| Amount |
+--------+
| 100    |
| 50     |
| 70     |
| 90     |
| 50     |
+--------+

महत्वपूर्ण नोट

  • LIMIT 1 बिना ORDER BY के अनिर्धारित पंक्ति हटाता है
  • नवीनतम/पुराना हटाने के लिए ORDER BY जोड़ें

निर्दिष्ट पंक्ति हटाएं (सबसे पुराना)

DELETE FROM DemoTable 
WHERE Amount = 50 
ORDER BY Id ASC  -- मान लें Id कॉलम है
LIMIT 1;

निर्दिष्ट पंक्ति हटाएं (सबसे नया)

DELETE FROM DemoTable 
WHERE Amount = 50 
ORDER BY Id DESC
LIMIT 1;

सभी डुप्लिकेट हटाएं (एक रखें)

-- MySQL 8.0+ CTE के साथ
WITH ranked AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY Amount ORDER BY Id) AS rn
    FROM DemoTable
)
DELETE FROM DemoTable
WHERE Id IN (SELECT Id FROM ranked WHERE rn > 1);

चेतावनी

LIMIT के बिना DELETE WHERE Amount=50 सभी तीन पंक्तियां हटा देगा।

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into

  1. - MySQL में DISTINCT से डुप्लिकेट पंक्तियों में से एक पंक्ति दिखाएं

    DISTINCT कीवर्ड से अद्वितीय पंक्तियां प्राप्त करें पूरी पंक्ति के डुप्लिकेट को हटाकर केवल अद्वितीय पंक्तियां प्राप्त करने के लिए SELECT DISTINCT * का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1998 ( Name varchar(20) ); Query OK, 0 rows affected (0.61 sec) mysql> insert