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

MySQL-এ একই কলাম থেকে ভিন্ন মান নির্বাচন করে আলাদা কলামে প্রদর্শন করা


শর্তের ভিত্তিতে ভিন্ন মান নির্বাচন করতে CASE স্টেটমেন্ট ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(40), Score int ) ; Query OK, 0 rows affected (0.54 sec)

ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:

mysql> insert into DemoTable(Name,Score) values('Chris',45); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable(Name,Score) values('David',68); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(Name,Score) values('Robert',89); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Score) values('Bob',34); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(Name,Score) values('Sam',66); Query OK, 1 row affected (0.22 sec)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন:

mysql> select *from DemoTable;

এটি নিম্নলিখিত আউটপুট তৈরি করবে:

+----+--------+-------+ | Id | Name   | Score | +----+--------+-------+ |  1 | Chris  |    45 | |  2 | David  |    68 | |  3 | Robert |    89 | |  4 | Bob    |    34 | |  5 | Sam    |    66 | +----+--------+-------+ 5 rows in set (0.00 sec)

একই কলাম থেকে ভিন্ন মান নির্বাচন করার কোয়েরি:

mysql> select Score,    case when Score < 40 then Score end as ' Score Less than 40',    case when Score between 60 and 70 then Score end as 'Score Between 60 and 70 ',    case when Score > 80 then Score end as 'Score greater than 80'    from DemoTable;

এটি নিম্নলিখিত আউটপুট তৈরি করবে:

+-------+--------------------+--------------------------+-----------------------+ | Score | Score Less than 40 | Score Between 60 and 70  | Score greater than 80 | +-------+--------------------+--------------------------+-----------------------+ |    45 |               NULL |                     NULL |                  NULL | |    68 |               NULL |                       68 |                  NULL | |    89 |               NULL |                     NULL |                    89 | |    34 |                 34 |                     NULL |                  NULL | |    66 |               NULL |                       66 |                  NULL | +-------+--------------------+--------------------------+-----------------------+ 5 rows in set, 1 warning (0.03 sec)

  1. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  2. MySQL-এ GROUP BY HAVING ব্যবহার করে ডুপ্লিকেট কলাম মান বের করা

  3. MySQL-এ CASE WHEN এবং GROUP_CONCAT ব্যবহার করে শর্তসাপেক্ষে কলাম মান কনক্যাটেনেট করা

  4. MySQL-এ SUBSTRING_INDEX() দিয়ে হাইফেন-বিভক্ত স্ট্রিং আলাদা কলামে বির্ভক্ত করা