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

MySQL-এ ORDER BY ব্যবহার করে ডুপ্লিকেট রেকর্ড সর্ট করা

ডুপ্লিকেট নামের রেকর্ডগুলো স্কোর অনুযায়ী সর্ট করতে WHERE দিয়ে ফিল্টার করে ORDER BY ... DESC ব্যবহার করা হয়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable788 (FirstName VARCHAR(100), Score INT);
Query OK, 0 rows affected (1.89 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Chris', 78);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Robert', 67);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Chris', 98);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Chris', 56);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Robert', 43);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Robert', 97);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable788 VALUES ('Chris', 79);
Query OK, 1 row affected (0.12 sec)

সকল রেকর্ড

mysql> SELECT * FROM DemoTable788;

আউটপুট:

+-----------+-------+
| FirstName | Score |
+-----------+-------+
| Chris     | 78    |
| Robert    | 67    |
| Chris     | 98    |
| Chris     | 56    |
| Robert    | 43    |
| Robert    | 97    |
| Chris     | 79    |
+-----------+-------+
7 rows in set (0.00 sec)

'Chris' নামের রেকর্ড স্কোর অনুযায়ী নিম্নক্রমে সর্ট

mysql> SELECT Score FROM DemoTable788 
WHERE FirstName = 'Chris' 
ORDER BY Score DESC;

ফলাফল:

+-------+
| Score |
+-------+
| 98    |
| 79    |
| 78    |
| 56    |
+-------+
4 rows in set (0.00 sec)

ব্যাখ্যা

  • WHERE FirstName = 'Chris' - শুধু Chris-এর রেকর্ড ফিল্টার।
  • ORDER BY Score DESC - স্কোর বড় থেকে ছোট ক্রমে সাজায়।
  • ASC (ডিফল্ট) ছোট থেকে বড়।

সব নামের জন্য আলাদা আলাদা সর্ট (Window Function - MySQL 8.0+)

SELECT FirstName, Score,
       ROW_NUMBER() OVER (PARTITION BY FirstName ORDER BY Score DESC) AS rn
FROM DemoTable788;
  1. MySQL-এ টেক্সট কলাম থেকে সর্বোচ্চ মান বের করা (RIGHT ও CAST ব্যবহার করে)

  2. MySQL-এ টেবিলের ডেটা ফিল্টার করে নির্দিষ্ট রেকর্ড বাদ দেওয়া

  3. MySQL-এ ডুপ্লিকেট রেকর্ড রিপ্লেস করার দক্ষ পদ্ধতি: INSERT ON DUPLICATE KEY UPDATE

  4. MySQL-এ LIKE অপারেটর ব্যবহার করে নির্দিষ্ট ডুপ্লিকেট রেকর্ড দেখান