কম্পিউটার টিউটোরিয়াল

MySQL-এ ডুপ্লিকেট ও সাদৃশ্যপূর্ণ কন্টেন্ট वाली সারি ডিলিট করুন এবং সর্বোচ্চ মানবালা সারি পান

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable1468 (
    -> Id int,
    -> Name varchar(20),
    -> Age int
    -> );
Query OK, 0 rows affected (1.21 sec)

রেকর্ড ইনসার্ট করি (ডুপ্লিকেট এবং ভিন্ন Age সহ):

mysql> insert into DemoTable1468 values(100,'Chris',23);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1468 values(101,'Bob',25);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1468 values(102,'David',30);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1468 values(100,'Chris',23);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable1468 values(100,'Chris',38);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1468 values(101,'Bob',23);
Query OK, 1 row affected (0.13 sec)

সব রেকর্ড দেখি:

mysql> select * from DemoTable1468;

আউটপুট:

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
|  100 | Chris |   23 |
|  101 | Bob   |   25 |
|  102 | David |   30 |
|  100 | Chris |   23 |
|  100 | Chris |   38 |
|  101 | Bob   |   23 |
+------+-------+------+
6 rows in set (0.00 sec)

ডুপ্লিকেট হ্যান্ডেল করে সর্বোচ্চ Age-বালা সারি পাওয়ার কোয়েরি:

mysql> select Id,Name,Age from DemoTable1468
    -> group by Name,Id
    -> having max(Age);

আউটপুট:

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
|  100 | Chris |   23 |
|  101 | Bob   |   25 |
|  102 | David |   30 |
+------+-------+------+
3 rows in set (0.00 sec)

সতর্কতা: এই কোয়েরি MySQL-এ চলে (ONLY_FULL_GROUP_BY ডিজেবল থাকলে) কিন্তু সঠিক ফলাফল দেয় না! Chris-এর সর্বোচ্চ Age ৩৮ হলেও ২৩ দেখাচ্ছে। সঠিক পদ্ধতি:

SELECT Id, Name, MAX(Age) as MaxAge FROM DemoTable1468 GROUP BY Id, Name;
  1. MySQL-এ MATCH এবং AGAINST ব্যবহার করে নির্দিষ্ট কলামে স্ট্রিং খুঁজে বের করা

  2. MySQL-এ ডুপ্লিকেট কলাম মানवाले গ্রুপ থেকে ন্যূনতম রো বের করা (MIN + GROUP BY)

  3. MySQL-এ GROUP BY এবং MAX() দিয়ে একই নামের ছাত্রদের সর্বোচ্চ বয়স বের করা

  4. MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট রো থেকে শুধু একটি রো দেখানো