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

MySQL-এ হোয়াইটস্পেস সহ ডISTINCT ব্যবহার করা

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() ব্যবহার করুন।

  1. MySQL-এ SUBSTR() ব্যবহার করে সেকেন্ড পজিশনে হোয়াইটস্পেসযুক্ত রেকর্ড খুঁজে বের করা

  2. MySQL-এ দুটি তারিখের মধ্যে থাকা রেকর্ডের যোগফল বের করা

  3. MySQL-এ DAYNAME() ফাংশন দিয়ে তারিখ থেকে দিনের নাম বের করা

  4. MySQL-এ GROUP BY DATE() ব্যবহার করে ডISTINCT তারিখের রেকর্ড বের করা