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

MySQL GROUP BY দিয়ে গ্রুপ অনুযায়ী সকল সারি তালিকাভুক্ত করা

গ্রুপ অনুযায়ী সকল সারি তালিকাভুক্ত করতে GROUP_CONCAT() ফাংশন ব্যবহার করা যেতে পারে। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20),
    Value VARCHAR(100)
);

টেবিলে কিছু রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable(Name,Value) VALUES('John','John');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('Carol','Carol');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('John','Works');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('Carol','Works');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('John','At');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('Carol','At');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('John','Amazon');
mysql> INSERT INTO DemoTable(Name,Value) VALUES('Carol','Google');

টেবিলের সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+----+-------+--------+
| Id | Name  | Value  |
+----+-------+--------+
| 1  | John  | John   |
| 2  | Carol | Carol  |
| 3  | John  | Works  |
| 4  | Carol | Works  |
| 5  | John  | At     |
| 6  | Carol | At     |
| 7  | John  | Amazon |
| 8  | Carol | Google |
+----+-------+--------+

গ্রুপ অনুযায়ী সকল সারি তালিকাভুক্ত করার কোয়েরি। এখানে 'John'-এর জন্য মান হবে "John Works At Amazon" (আইডি ১, ৩, ৫, ৭ থেকে)। একইভাবে 'Carol'-এর জন্যও কাজ করবে:

mysql> SELECT Name, GROUP_CONCAT(Value SEPARATOR ' ') AS `Complete_Status` 
FROM DemoTable GROUP BY Name;

আউটপুট:

+-------+-----------------------+
| Name  | Complete_Status       |
+-------+-----------------------+
| Carol | Carol Works At Google |
| John  | John Works At Amazon  |
+-------+-----------------------+

ব্যাখ্যা: GROUP_CONCAT() ফাংশনটি একই গ্রুপের (এখানে Name কলামের ভিত্তিতে) সমস্ত মানকে একটি স্ট্রিং-এ একত্রিত করে। SEPARATOR ' ' দিয়ে মানগুলোর মাঝপথে স্পেস দেওয়া হয়েছে।

  1. MySQL-এ GROUP BY ব্যবহার করে ফিল্ড আপডেট করা

  2. MySQL-এ সংখ্যা মিশ্র স্ট্রিং সর্ট করুন

  3. MySQL-এ LIKE কোয়েরি ও LIMIT ব্যবহার করে ডাইনামিক অ্যারে সার্চ করা

  4. MySQL-এ GROUP BY HAVING ব্যবহার করে একই ID 가진 রোদের SUM করা