কম্পিউটার

MySQL এ শেষ 3টি অক্ষর দ্বারা অর্ডার করবেন?


আপনি MySQL-এ শেষ 3টি অক্ষর দ্বারা অর্ডার করতে ORDER BY RIGHT() ফাংশন ব্যবহার করতে পারেন। সিনট্যাক্স নিম্নরূপ -

SELECT *FROM yourTableName
ORDER BY RIGHT(yourColumnName,3) yourSortingOrder;

শুধু 'yourSortingOrder' কে ASC বা DESC এ প্রতিস্থাপন করুন যাতে যথাক্রমে আরোহী বা অবরোহ ক্রম সেট করা যায়।

উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> create table OrderByLast3Chars
   -> (
   -> EmployeeId int NOT NULL AUTO_INCREMENT,
   -> EmployeeName varchar(20),
   -> EmployeeAge int,
   -> PRIMARY KEY(EmployeeId)
   -> );
Query OK, 0 rows affected (0.56 sec)

সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('Carol_901',24);
Query OK, 1 row affected (0.14 sec)

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('Bob_101',21);
Query OK, 1 row affected (0.19 sec)

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('Sam_107',22);
Query OK, 1 row affected (0.20 sec)

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('Mile_677',26);
Query OK, 1 row affected (0.19 sec)

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('John_978',27);
Query OK, 1 row affected (0.75 sec)

mysql> insert into OrderByLast3Chars(EmployeeName,EmployeeAge) values('David_876',29);
Query OK, 1 row affected (0.28 sec)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from OrderByLast3Chars;

নিচের আউটপুট −

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| 1          | Carol_901    | 24          |
| 2          | Bob_101      | 21          |
| 3          | Sam_107      | 22          |
| 4          | Mile_677     | 26          |
| 5          | John_978     | 27          |
| 6          | David_876    | 29          |
+------------+--------------+-------------+
6 rows in set (0.00 sec)

এখানে শেষ 3টি অক্ষর দ্বারা অর্ডার করার জন্য প্রশ্ন রয়েছে৷

কেস 1 − আরোহী ক্রমে ফলাফল পান।

প্রশ্নটি নিম্নরূপ -

mysql> select *from OrderByLast3Chars
   -> order by RIGHT(EmployeeName,3) asc;

নিচের আউটপুট −

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| 1          | Carol_901    | 24          |
| 2          | Bob_101      | 21          |
| 3          | Sam_107      | 22          |
| 4          | Mile_677     | 26          |
| 5          | John_978     | 27          |
| 6          | David_876    | 29          |
+------------+--------------+-------------+
6 rows in set (0.00 sec)

কেস 2 - অবরোহ ক্রমে ফলাফল পান। প্রশ্নটি নিম্নরূপ -

mysql> select *from OrderByLast3Chars
   -> order by RIGHT(EmployeeName,3) desc;

নিচের আউটপুট −

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
|          5 | John_978     |          27 |
|          1 | Carol_901    |          24 |
|          6 | David_876    |          29 |
|          4 | Mile_677     |          26 |
|          3 | Sam_107      |          22 |
|          2 | Bob_101      |          21 |
+------------+--------------+-------------+
6 rows in set (0.00 sec)

  1. MySQL-এ অক্ষরের সংখ্যা অনুসারে ক্রম?

  2. আইডি দ্বারা স্বতন্ত্র ক্রম নির্বাচন করতে MySQL ক্যোয়ারী

  3. MySQL ক্যোয়ারী NULL মান অনুসারে অর্ডার করতে

  4. একাধিক আইডি দ্বারা MySQL ক্যোয়ারী অর্ডার করবেন?