MySQL-এ DISTINCT` ডুপ্লিকেট রো বাদ দেয়, কিন্তু লিডিং/ট্রেইলিং স্পেস থাকলে সেগুলো আলাদা মনে হয়। স্পেস বাদ দিয়ে ডISTINCT পেতে REPLACE() ফাংশন ব্যবহার করা হয়।
সিনট্যাক্স
SELECT DISTINCT REPLACE(yourColumnName, ' ', '') FROM yourTableName;
উদাহরণ
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20)
);
mysql> INSERT INTO DemoTable(Name) VALUES
('John '), (' John '), ('John'), ('Sam'), ('Carol'), (' Sam'), ('Mike '), ('David');
সকল ডেটা (স্পেস সহ)
+----+-----------+ | Id | Name | +----+-----------+ | 1 | John | | 2 | John | | 3 | John | | 4 | Sam | | 5 | Carol | | 6 | Sam | | 7 | Mike | | 8 | David | +----+-----------+
স্পেস বাদ দিয়ে DISTINCT
mysql> SELECT DISTINCT REPLACE(Name, ' ', '') FROM DemoTable;
ফলাফল
+----------------------+ | replace(Name,' ','') | +----------------------+ | John | | Sam | | Carol | | Mike | | David | +----------------------+
ব্যাখ্যা: REPLACE(Name, ' ', '') সকল স্পেস সরিয়ে দেয়, তারপর DISTINCT ইউনিক ভ্যালুগুলো বেছে নেয়। শুধু লিডিং/ট্রেইলিং স্পেস বাদ দিলে TRIM() ব্যবহার করুন।