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

MySQL-এ SELECT DISTINCT vs GROUP BY: পার্থক্য ও ব্যবহার

SELECT DISTINCT: ডুপ্লিকেট সারি সরিয়ে ইউনিক মান দেয়। একক কলামে ব্যবহার করা হয়। অগরিগেট ফাংশন (MAX, AVG) এর সাথে ব্যবহার করা যায়।

DISTINCT উদাহরণ

mysql> CREATE TABLE DistinctDemo (id INT, name VARCHAR(100));
mysql> INSERT INTO DistinctDemo VALUES(1,'John'),(2,'John'),(3,'Bob'),(4,'John'),(5,'David'),(6,'Bob');
mysql> SELECT DISTINCT name FROM DistinctDemo ORDER BY name;
+-------+
| name  |
+-------+
| Bob   |
| David |
| John  |
+-------+

GROUP BY: একাধিক কলাম থেকে ডেটা গ্রুপ করে অগরিগেট ফাংশন (SUM, AVG, COUNT) প্রয়োগ করে।

GROUP BY উদাহরণ

mysql> CREATE TABLE GroupDemo1 (id INT, name VARCHAR(100), address VARCHAR(100));
mysql> INSERT INTO GroupDemo1 VALUES(1,'John','US'),(2,'Bob','UK'),(3,'David','US'),(4,'David','US');
mysql> SELECT address, COUNT(*) FROM GroupDemo1 GROUP BY address;
+---------+----------+
| address | COUNT(*) |
+---------+----------+
| US      | 3        |
| UK      | 1        |
+---------+----------+

সারসংক্ষেপ

  • DISTINCT: ইউনিক মান বের করতে (সাধারণত একক কলাম)।
  • GROUP BY: গ্রুপ বানিয়ে অগরিগেট ক্যালকুলেশন করতে (বহু কলাম)।
  1. MySQL টেবিল থেকে র‍্যান্ডমলি ডISTINCT সারি নির্বাচন করা

  2. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  3. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা

  4. MySQL-এ সর্বোচ্চ বেতন (Highest Salary) বের করা