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

MySQL-এ কমা-সেপারেটেড ফিল্ড থেকে মান গণনা করা (CHAR_LENGTH ব্যবহার)


MySQL-এ কমা-সেপারেটেড স্ট্রিং-এ মোট কতটি ভ্যালু আছে তা গণনা করা

একটি কলামে কমা দিয়ে আলাদা করা ভ্যালুগুলো থাকলে, মোট ভ্যালুর সংখ্যা বের করতে CHAR_LENGTH() এবং REPLACE() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT *, 
       (CHAR_LENGTH(yourColumnName) - CHAR_LENGTH(REPLACE(yourColumnName, ',', '')) + 1) AS TotalValues
FROM yourTableName;

লজিক: CHAR_LENGTH(col) - CHAR_LENGTH(REPLACE(col, ',', '')) = কমার মোট সংখ্যা। কমার সংখ্যা + 1 = মোট ভ্যালুর সংখ্যা।

উদাহরণ

টেবিল তৈরি

mysql> CREATE TABLE CountValuesCommaSeparated (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> CommaSeparatedValue TEXT,
    -> PRIMARY KEY(Id)
    -> );

ডেটা ইনসার্ট

mysql> INSERT INTO CountValuesCommaSeparated(CommaSeparatedValue) VALUES('101,104,1900,46675,7895');
mysql> INSERT INTO CountValuesCommaSeparated(CommaSeparatedValue) VALUES('1010,18949,37465');
mysql> INSERT INTO CountValuesCommaSeparated(CommaSeparatedValue) VALUES('2010,1201,2743874,7485');
mysql> INSERT INTO CountValuesCommaSeparated(CommaSeparatedValue) VALUES('4757,457587,48586,378575,3874765,487565');

গণনা সহ সিলেক্ট

mysql> SELECT *, 
    -> (CHAR_LENGTH(CommaSeparatedValue) - CHAR_LENGTH(REPLACE(CommaSeparatedValue, ',', '')) + 1) AS TotalValue
    -> FROM CountValuesCommaSeparated;

ফলাফল

+----+-----------------------------------------+------------+
| Id | CommaSeparatedValue                     | TotalValue |
+----+-----------------------------------------+------------+
| 1  | 101,104,1900,46675,7895                 | 5          |
| 2  | 1010,18949,37465                        | 3          |
| 3  | 2010,1201,2743874,7485                  | 4          |
| 4  | 4757,457587,48586,378575,3874765,487565 | 6          |
+----+-----------------------------------------+------------+

নোট: যদি স্ট্রিং খালি হয় (''), তবে ফলাফল ১ আসবে (যা ভুল)। সেক্ষেসে CASE WHEN TRIM(col) = '' THEN 0 ELSE ... END ব্যবহার করুন।

  1. MySQL-এ একাধিক টেবিল থেকে NOT NULL মান গণনা করা (সিঙ্গেল কোয়েরি)

  2. MySQL-এ LENGTH ও REPLACE ব্যবহার করে কমা (,) গণনা করা

  3. MySQL-এ REPLACE() ফাংশন ব্যবহার করে কলাম থেকে আংশিক ডেটা ডিলিট/রিমুভ করুন

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