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

MySQL-এ কমা-সেপারেটেড ভ্যালু থেকে নির্দিষ্ট মান দিয়ে রেকর্ড ফেচ করা

এজন্য MySQL-এ REGEXP (রেগুলার এক্সপ্রেশন) ব্যবহার করা হয়। উদাহরণস্বরূপ, কমা-সেপারেটেড ভ্যালুতে '৯০' আছে কিনা চেক করব।

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable1447 (
    -> Value varchar(100)
    -> );
Query OK, 0 rows affected (0.58 sec)

রেকর্ড ইনসার্ট করি:

mysql> insert into DemoTable1447 values('19,58,90,56');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1447 values('56,89,99,100');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1447 values('75,76,65,90');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1447 values('101,54,57,59');
Query OK, 1 row affected (0.14 sec)

সব রেকর্ড দেখি:

mysql> select * from DemoTable1447;

আউটপুট:

+--------------+
| Value        |
+--------------+
| 19,58,90,56  |
| 56,89,99,100 |
| 75,76,65,90  |
| 101,54,57,59 |
+--------------+
4 rows in set (0.00 sec)

নির্দিষ্ট মান '৯০' আছে এমন সারি ফেচ করার কোয়েরি:

mysql> select * from DemoTable1447 where Value regexp '(^|,)90($|,)';

আউটপুট:

+-------------+
| Value       |
+-------------+
| 19,58,90,56 |
| 75,76,65,90 |
+-------------+
2 rows in set (0.00 sec)

রেগেক্স ব্যাখ্যা: (^|,) = স্ট্রিংয়ের শুরু বা কমা, 90 = খুঁজে বের করতে হবে, ($|,) = স্ট্রিংয়ের শেষ বা কমা। এটি আংশিক মিল (যেমন ১৯০) এড়াতে সাহায্য করে।

  1. MySQL-এ কমা-সেপারেটেড কলাম থেকে নির্দিষ্ট মান খোঁজা (FIND_IN_SET)

  2. MySQL에서 특정 월 범위(예: 작년 7월~올해 7월) 데이터 조회하기

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

  4. MySQL-এ সাবকোয়ারি এবং GROUP BY ব্যবহার করে সর্বোচ্চ কমিউলেটিভ মান বের করা