MySQL-এ SELECT * দিয়ে ডুপ্লিকেট ID বাদ দিয়ে অনন্য রো পেতে GROUP BY ব্যবহার করা যায়।
সিনট্যাক্স
SELECT * FROM yourTableName GROUP BY yourColumnName;
সতর্কতা: MySQL-এ ONLY_FULL_GROUP_BY SQL মোড সক্রিয় থাকলে এই কোয়েরি এরর দেবে। সেক্ষেত্রে এগ্রিগেট ফাংশন (MIN, MAX, ANY_VALUE) ব্যবহার করুন।
উদাহরণ
টেবিল তৈরি করি (প্রাইমারি কি নেই, ডুপ্লিকেট ID আশুলিয়ে):
mysql> create table DistinctIdDemo (Id int, Name varchar(20), Age int);
রেকর্ড ইনসার্ট (Id ১, ২كرر):
mysql> insert into DistinctIdDemo values(1,'Mike',23); mysql> insert into DistinctIdDemo values(2,'Sam',24); mysql> insert into DistinctIdDemo values(1,'Carol',23); mysql> insert into DistinctIdDemo values(1,'John',28); mysql> insert into DistinctIdDemo values(3,'David',26); mysql> insert into DistinctIdDemo values(2,'Larry',29);
সকল রেকর্ড
mysql> select *from DistinctIdDemo;
আউটপুট
+------+-------+------+ | Id | Name | Age | +------+-------+------+ | 1 | Mike | 23 | | 2 | Sam | 24 | | 1 | Carol | 23 | | 1 | John | 28 | | 3 | David | 26 | | 2 | Larry | 29 | +------+-------+------+
GROUP BY Id দিয়ে ডিস্টিংক্ট
mysql> SELECT * FROM DistinctIdDemo GROUP BY Id;
ফলাফল
+------+-------+------+ | Id | Name | Age | +------+-------+------+ | 1 | Mike | 23 | | 2 | Sam | 24 | | 3 | David | 26 | +------+-------+------+
নোট: প্রতিটি ID-এর জন্য প্রথমIBLE রোটি ফেরত দিয়েছে (Mike, Sam, David)। অন্য কলামের মান অনির্দিষ্ট হতে পারে।