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

MySQL-এ CASE স্টেটমেন্ট ব্যবহার করে প্রতিটি SELECT ফিল্ডের জন্য আলাদা শর্ত প্রয়োগ করা

CASE স্টেটমেন্ট ব্যবহার করে প্রতিটি কলামের জন্য আলাদা শর্তসাপেক্ষ এগ리게েশন করা যায়।

টেবিল ও ডেটা:

mysql> CREATE TABLE DemoTable1988 (Value1 INT, Value2 INT, Price INT);
mysql> INSERT INTO DemoTable1988 VALUES
    (10,7,500), (7,9,400), (8,7,200), (7,4,300);

কোয়েরি: Value2=7 হলে Price যোগ, Value1=7 হলে Price বিয়োগ:

mysql> SELECT 
    SUM(CASE WHEN Value2 = 7 THEN Price ELSE 0 END) -
    SUM(CASE WHEN Value1 = 7 THEN Price ELSE 0 END) AS Result
    FROM DemoTable1988;

আউটপুট:

+--------+
| Result |
+--------+
| 0      |
+--------+

গণনা

  • Value2=7: রো ১ (500) + রো ৩ (200) = 700
  • Value1=7: রো ২ (400) + রো ৪ (300) = 700
  • ফলাফল: 700 - 700 = 0

CASE সিনট্যাক্স

CASE 
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE default_result
END

এটি IF() ফাংশনের চেয়ে বেশি ফ্লেক্সিবল এবং একাধিক শর্ত হ্যান্ডেল করতে পারে।

  1. MySQL-এ GROUP BY + MAX() ব্যবহার করে প্রতিটি গ্রুপের সর্বোচ্চ মান বের করা

  2. MySQL IN() 절에 단일 값만 지정해도 되나요?

  3. MySQL-এ SELECT ফলাফল কাস্টম ভেরিয়েবলে সংরক্ষণ করা

  4. MySQL-এ WHERE IN ক্লজে NULL হ্যান্ডলিং