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

MySQL-এ অ্যালফানিউমেরিক স্ট্রিংকে ডানপাশের নম্বর অনুযায়ী সর্ট করা

যদি VARCHAR কলামে স্ট্রিং এবং ডানপাশে নম্বর থাকে (যেমন John1023, Carol9871), এবং আপনি ডানপাশের নম্বর অনুযায়ী সর্ট করতে চান, তবে ORDER BY RIGHT ব্যবহার করুন।

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable757(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientId varchar(100)
);
Query OK, 0 rows affected (0.53 sec)

কিছু রেকর্ড ইনসার্ট করি:

mysql> insert into DemoTable757(ClientId) values('John1023');
Query OK, 1 row affected (0.41 sec)
mysql> insert into DemoTable757(ClientId) values('Carol9871');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable757(ClientId) values('David9098');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable757(ClientId) values('Adam9989');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable757(ClientId) values('Bob9789');
Query OK, 1 row affected (0.20 sec)

সব রেকর্ড দেখি:

mysql> select *from DemoTable757;

আউটপুট:

+----+-----------+
| Id | ClientId  |
+----+-----------+
| 1  | John1023  |
| 2  | Carol9871 |
| 3  | David9098 |
| 4  | Adam9989  |
| 5  | Bob9789   |
+----+-----------+
5 rows in set (0.00 sec)

ডানপাশের ৪ ডিজিট নম্বর অনুযায়ী অ্যালফানিউমেরিক সর্ট করার ক্যোয়ারি:

mysql> select Id, ClientId from DemoTable757 order by RIGHT(ClientId, 4);

আউটপুট (১০২৩, ৯০৯৮, ৯৭৮৯, ৯৮৭১, ৯৯৮৯ ক্রমে):

+----+-----------+
| Id | ClientId  |
+----+-----------+
| 1  | John1023  |
| 3  | David9098 |
| 5  | Bob9789   |
| 2  | Carol9871 |
| 4  | Adam9989  |
+----+-----------+
5 rows in set (0.00 sec)

নোট: এটি স্ট্রিং কম্পেরিজন করে। সঠিক न्यूमেরিক সর্টের জন্য CAST(RIGHT(ClientId, 4) AS UNSIGNED) ব্যবহার করুন।

  1. MySQL ROUND() 함수로 숫자 반올림하기

  2. MySQL에서 문자로 시작하는 코드(예: J23, C13) 문자+숫자 순으로 정렬하기

  3. MySQL-এ সংখ্যা মিশ্র স্ট্রিং সর্ট করুন

  4. MySQL-এ REGEXP ব্যবহার করে শুধু স্ট্রিং বা স্ট্রিং-নম্বর মিশ্র রেকর্ড ফিল্টার করা