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

MySQL-এ CASE WHEN ব্যবহার করে নির্দিষ্ট রো বাদ দিয়ে বাকিগুলো দেখানো

MySQL-এ শর্তসাপেক্ষভাবে কলাম মান পরিবর্তন বা ফিল্টার করতে CASE WHEN এক্সপ্রেশন ব্যবহার করা হয়।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo47 (
    first_name VARCHAR(20),
    last_name VARCHAR(20)
);

INSERT INTO demo47 VALUES ('John', 'Smith'), ('David', 'Miller'), ('John', 'Doe'), ('Chris', 'Brown');

টেবিলের ডেটা:

+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John       | Smith     |
| David      | Miller    |
| John       | Doe       |
| Chris      | Brown     |
+------------+-----------+

কোয়েরি

যে রোগুলোতে 'John' আছে (first_name বা last_name-এ), সেগুলোতে first_name 'John' হলে last_name দেখাও, অন্যথায় first_name দেখাও:

SELECT CASE 
           WHEN first_name = 'John' THEN last_name 
           ELSE first_name 
       END AS Result
FROM demo47
WHERE 'John' IN (first_name, last_name);

আউটপুট

+--------+
| Result |
+--------+
| Smith  |
| Doe    |
+--------+

ব্যাখ্যা: WHERE 'John' IN (first_name, last_name) শুধু 'John' ধারণকারী রোগুলো ফিল্টার করে। তারপর CASE WHEN দিয়ে শর্ত অনুযায়ী আউটপুট বেছে নেওয়া হয়েছে। ১ম রো: first_name='John' -> last_name='Smith'। ৩য় রো: first_name='John' -> last_name='Doe'। ২য় ও ৪র্থ রোতে 'John' নেই, তাই ফিল্টার আউট হয়েছে।

  1. MySQL-এ রেকর্ড সাজিয়ে n সংখ্যক সারি মুছে ফেলা

  2. MySQL-এ নির্দিষ্ট রেকর্ড বাদ দিয়ে বাকি যোগফল বের করা

  3. MySQL-এ MATCH এবং AGAINST ব্যবহার করে নির্দিষ্ট কলামে স্ট্রিং খুঁজে বের করা

  4. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা