DISTINCT + INSERT INTO SELECT দিয়ে ডুপ্লিকেট বাদ দিয়ে কপি
MySQL-এ একটি টেবিল থেকে অন্য টেবিলে ডেটা কপি করার সময় DISTINCT ব্যবহার করে ডুপ্লিকেট মান বাদ দেওয়া যায়।
সোর্স টেবিল (DemoTable1) - ডুপ্লিকেটসহ
mysql> CREATE TABLE DemoTable1 (Value INT); mysql> INSERT INTO DemoTable1 VALUES(50), (10), (10), (60), (50), (70), (50);
+-------+ | Value | +-------+ | 50 | | 10 | | 10 | | 60 | | 50 | | 70 | | 50 | +-------+
ডেস্টিনেশন টেবিল তৈরি
mysql> CREATE TABLE DemoTable2 (Marks INT);
DISTINCT দিয়ে কপি
mysql> INSERT INTO DemoTable2(Marks) SELECT DISTINCT Value FROM DemoTable1; Query OK, 4 rows affected (0.18 sec) Records: 4 Duplicates: 0 Warnings: 0
ডেস্টিনেশন টেবিল (DemoTable2)
+-------+ | Marks | +-------+ | 50 | | 10 | | 60 | | 70 | +-------+
ব্যাখ্যা
SELECT DISTINCT Value— শুধু স্বতর্ক (unique) মান নির্বাচন করে।INSERT INTO DemoTable2(Marks) ...— নির্বাচিত মানগুলো DemoTable2-এ ইনসার্ট করে।Duplicates: 0— কোনো ডুপ্লিকেট ইনসার্ট হয়নি।
নোট
- যদি DemoTable2-এ UNIQUE কনস্ট্রেইন্ট থাকে,
INSERT IGNOREবাON DUPLICATE KEY UPDATEব্যবহার করুন। CREATE TABLE DemoTable2 AS SELECT DISTINCT Value FROM DemoTable1;দিয়ে সরাসরি টেবিল তৈরি ও কপি করা যায়।