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

MySQL-এ নির্দিষ্ট ID-এর কলামে স্ট্রিং কাউন্ট করা (কমা-বিভক্ত মান)

এজন্য CHAR_LENGTH() এবং REPLACE() ফাংশন ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Subject LONGTEXT
);

রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL,MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL,MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+----+---------------+
| Id | Subject       |
+----+---------------+
| 1  | MySQL,MongoDB |
| 2  | MySQL,MongoDB |
| 3  | MongoDB       |
| 4  | MySQL         |
+----+---------------+

ID ১-এ কমা-বিভক্ত মানগুলো কতটি আছে তা বের করার কোয়েরি:

mysql> SELECT Id, 
    CHAR_LENGTH(Subject) - CHAR_LENGTH(REPLACE(Subject, ',', '')) + 1 AS FreqSubject 
FROM DemoTable WHERE CHAR_LENGTH(Subject) > 0 AND Id = 1;

আউটপুট:

+----+-------------+
| Id | FreqSubject |
+----+-------------+
| 1  | 2           |
+----+-------------+

ব্যাখ্যা: ফর্মুলা: CHAR_LENGTH(Subject) - CHAR_LENGTH(REPLACE(Subject, ',', '')) + 1

  • CHAR_LENGTH(Subject): মোট ক্যারেক্টার সংখ্যা
  • REPLACE(Subject, ',', ''): কমা গুলো সরিয়ে দেয়
  • CHAR_LENGTH(...): কমা বাদ দিয়ে ক্যারেক্টার সংখ্যা
  • বিয়োগ করলে কমার সংখ্যা পাওয়া যায়
  • + 1: আইটেম সংখ্যা = কমার সংখ্যা + ১

সতর্কতা: এটি কেবল কমা-বিভক্ত স্ট্রিংয়ের জন্য কাজ করে। যদি স্পেস থাকে (', ') তবে REPLACE(Subject, ', ', '') ব্যবহার করুন।

  1. MySQL-এ COUNT() ফাংশন ব্যবহার করে NULL মান বাদ দিয়ে কাউন্ট করা

  2. MySQL কলামে নির্দিষ্ট স্ট্রিং কতবার এসেছে তা গণনা করা

  3. MySQL-এ SUBSTRING_INDEX() ব্যবহার করে স্ট্রিং বিভাজন করা

  4. MySQL-এ REPLACE() ফাংশন দিয়ে কলামের নির্দিষ্ট ক্যারেক্টার পরিবর্তন করা