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

MySQL-এ অ্যালফাবেট প্রথমে তারপর নাম্বার দিয়ে সর্ট করা (RLIKE এবং IF)

নাম কলামে অক্ষর দিয়ে শুরু হলে সেগুলো আগে, সংখ্যা দিয়ে শুরু হলে পরে দেখাতে RLIKE এবং IF ফাংশন ব্যবহার করতে হয়। সিনট্যাক্স:

SELECT *FROM yourTableName ORDER BY IF(yourColumnName RLIKE '^[a-z]', 1, 2), yourColumnName;

RLIKE '^[a-z]' মানে ছোট হাতের অক্ষর দিয়ে শুরু হলে true (১), নাহলে false (২)।

উদাহরণ

টেবিল AlphabetFirstThenNumberDemo তৈরি এবং নাম ইনসার্ট করি (John, Bob, 1Sam, Carol, 2Larry, David, 3Mike, Robert)।

কোয়েরি:

mysql> select *from AlphabetFirstThenNumberDemo ORDER BY IF(Name RLIKE '^[a-z]', 1, 2), Name;

ফলাফল (অক্ষর দিয়ে শুরু হওয়া নামগুলো আগে, তারপর সংখ্যা দিয়ে শুরু হওয়া):

+----+--------+
| Id | Name   |
+----+--------+
|  2 | Bob    |
|  4 | Carol  |
|  6 | David  |
|  1 | John   |
|  8 | Robert |
|  3 | 1Sam   |
|  5 | 2Larry |
|  7 | 3Mike  |
+----+--------+
  1. MySQL-এ প্রথম ডিজিট রিমুভ করা (SUBSTR)

  2. MySQL-এ SUBSTRING_INDEX() দিয়ে কমা-সেপারেটেড সংখ্যার সেটের প্রথম সংখ্যা দিয়ে ORDER BY করা

  3. MySQL কোয়ারি: একাধিক ID দ্বারা সাজানো (ORDER BY FIELD)

  4. MySQL-এ ORDER BY: শেষ ৩ মাসের ডেটা اولে, তারপর অ্যালফাবেটিক্যালি সর্ট