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

MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট মান বাদ দিয়ে একক মান পাওয়া

একই মান একাধিকবার থাকলে DISTINCT কিওয়ার্ড ব্যবহার করে শুধু অনন্য (unique) মানগুলো পাওয়া যায়।

টেবিল তৈরি ও ডেটা ইনসার্ট (৫ বার ১০)

mysql> CREATE TABLE DemoTable800 (Value INT);
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable800 VALUES (10);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable800 VALUES (10);
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable800 VALUES (10);
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable800 VALUES (10);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable800 VALUES (10);
Query OK, 1 row affected (0.10 sec)

সকল রেকর্ড

mysql> SELECT * FROM DemoTable800;

আউটপুট:

+-------+
| Value |
+-------+
| 10    |
| 10    |
| 10    |
| 10    |
| 10    |
+-------+
5 rows in set (0.00 sec)

DISTINCT দিয়ে অনন্য মান পাওয়া

mysql> SELECT DISTINCT Value FROM DemoTable800;

ফলাফল:

+-------+
| Value |
+-------+
| 10    |
+-------+
1 row in set (0.00 sec)

DISTINCT এর বৈশিষ্ট্য

  • একাধিক কলামে ব্যবহার করলে DISTINCT col1, col2 - যুগল মান ইউনিক হয়।
  • COUNT(DISTINCT col) - অনন্য মান গণনা করে।
  • NULL মান একবারই গুনা হয় (NULL == NULL নয়, কিন্তু DISTINCT-এ এক গোষ্ঠীতে পড়ে)।

GROUP BY বনাম DISTINCT

SELECT DISTINCT col FROM t প্রায় সমান SELECT col FROM t GROUP BY col। কিন্তু GROUP BY অ্যাক্টিভ ফাংশন দিয়ে আরও জটিল কোয়েরি করার সুযোগ দেয়।

  1. MySQL에서 ORDER BY RAND()와 LIMIT으로 랜덤 2개 행 선택하기

  2. MySQL-এ নির্দিষ্ট কলাম থেকে শুধু 'NO' মান সংখ্যা বের করা

  3. MySQL-এ SELECT ... INTO @variable ব্যবহার করে নির্দিষ্ট রো থেকে একক মান বের করা

  4. MySQL-এ ভ্যালু ০ হলে অন্য কলাম থেকে ডেটা সিলেক্ট করা