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

MySQL-এ GROUP BY এবং IN() ব্যবহার করে নির্দিষ্ট মানের ঘনত্ব গণনা করা

MySQL-এ নির্দিষ্ট কিছু মানের ঘনত্ব (occurrences) একক কোয়েরিতে বের করতে WHERE ... IN(...) এবং GROUP BY ব্যবহার করা হয়।

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

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.87 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('John');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('David');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('John');
mysql> INSERT INTO DemoTable(Name) VALUES('Carol');
mysql> INSERT INTO DemoTable(Name) VALUES('Sam');

সব রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট

+----+-------+
| Id | Name  |
+----+-------+
| 1  | John  |
| 2  | Chris |
| 3  | David |
| 4  | Chris |
| 5  | Chris |
| 6  | John  |
| 7  | Carol |
| 8  | Sam   |
+----+-------+
8 rows in set (0.00 sec)

'John' এবং 'Chris'-এর ঘনত্ব গণনা

mysql> SELECT Name, COUNT(*) AS Occurrences
    -> FROM DemoTable
    -> WHERE Name IN('John', 'Chris')
    -> GROUP BY Name;

আউটপুট

+-------+-------------+
| Name  | Occurrences |
+-------+-------------+
| John  | 2           |
| Chris | 3           |
+-------+-------------+
2 rows in set (0.00 sec)

ব্যাখ্যা: WHERE Name IN('John', 'Chris') শুধু এই দুটি নামের রো ফিল্টার করে। GROUP BY Name নাম অনুযায়ী গ্রুপ করে। COUNT(*) প্রতিটি গ্রুপের রো সংখ্যা গণনা করে।

বিকল্প (সব নামের ঘনত্ব): SELECT Name, COUNT(*) FROM DemoTable GROUP BY Name; — WHERE ক্লজ বাদ দিলে সব নামের ঘনত্ব পাওয়া যাবে।

  1. MySQL-এ নির্দিষ্ট কলাম নামে টেবিল খুঁজে বের করা

  2. MySQL에서 LIKE로 특정 이름(예: Johnson으로 시작) 검색하기

  3. MySQL-এ একক কোয়ারি দিয়ে একটি কলামে একাধিক মান কিভাবে ইনসার্ট করবেন?

  4. MySQL-এ নির্দিষ্ট মান 가진 কলামের সংখ্যা গণনা করা