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

MySQL-এ CASE স্টেটমেন্ট দিয়ে দুটি কলাম থেকে ডিস্টিংক্ট কম্বিনেশন বের করা

MySQL-এ দুটি কলাম থেকে অর্ডার-ইনডিপেন্ডেন্ট ডিস্টিংক্ট কম্বিনেশন (যেমন: (a,b) এবং (b,a) একই মনে করা) বের করতে CASE স্টেটমেন্ট ব্যবহার করুন।

উদাহরণ

টেবিল তৈরি করি:

mysql> create table select_DistinctTwoColumns 
    -> ( 
    -> Id int NOT NULL AUTO_INCREMENT, 
    -> FirstValue CHAR(1), 
    -> SecondValue CHAR(1), 
    -> PRIMARY KEY(Id) 
    -> ); Query OK, 0 rows affected (0.57 sec)

রেকর্ড যোগ করি:

mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('s','t'); 
mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('t','u'); 
mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('u','v'); 
mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('u','t');

সকল রেকর্ড

mysql> select *from select_DistinctTwoColumns;

আউটপুট

+----+------------+-------------+
| Id | FirstValue | SecondValue |
+----+------------+-------------+
| 1  | s          | t           |
| 2  | t          | u           |
| 3  | u          | v           |
| 4  | u          | t           |
+----+------------+-------------+
লক্ষ্য করুন: (s,t) এবং (t,s) একই কম্বিনেশন। (u,t) রো ৪ (t,u) রো ২-এর ডুপ্লিকেট।

CASE দিয়ে ডিস্টিংক্ট কম্বিনেশন বের করুন

mysql> SELECT DISTINCT 
    -> CASE WHEN FirstValue < SecondValue THEN FirstValue ELSE SecondValue END AS FirstColumn, 
    -> CASE WHEN FirstValue > SecondValue THEN FirstValue ELSE SecondValue END AS SecondColumn 
    -> FROM select_DistinctTwoColumns;

ফলাফল

+-------------+--------------+
| FirstColumn | SecondColumn |
+-------------+--------------+
| s           | t            |
| t           | u            |
| u           | v            |
+-------------+--------------+
3 rows in set (0.00 sec)
ব্যাখ্যা: ছোট মান সবসময় FirstColumn-এ, বড় মান SecondColumn-এ আসে, তাই (s,t) এবং (t,s) একই হয়ে যায়।
  1. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  2. MySQL-এ GREATEST() এবং LEAST() ব্যবহার করে দুটি কলামের জোড়ার আবার্তন গণনা

  3. MySQL-এ MAX() এবং সাবকোয়েরি ব্যবহার করে দুটি কলামের যোগফলের সর্বোচ্চ মান বের করুন

  4. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা