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

MySQL-এ ০ বাদে INTEGER সাজানো (Reorder)


MySQL-এ ORDER BY দিয়ে ০ কে শেষে রেখে বাকি সাজানো

সংখ্যাসূচক কলামে ০ থাকলে সেটিকে শেষে রাখে, বাকি সংখ্যাগুলো আসল ক্রমে (ascending/descending) সাজাতে ORDER BY column=0, column ট্রিক ব্যবহার করা হয়।

সিনট্যাক্স

-- Ascending, 0 last
SELECT * FROM yourTableName ORDER BY yourColumn=0, yourColumn;

-- Descending, 0 last
SELECT * FROM yourTableName ORDER BY yourColumn=0, yourColumn DESC;

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি ও ডেটা ইনসার্ট:

mysql> CREATE TABLE reorderIntegerExcept0 (value INT);
mysql> INSERT INTO reorderIntegerExcept0 VALUES(90),(10),(0),(40),(0),(50),(80),(0),(300);

বর্তমান ডেটা:

mysql> SELECT * FROM reorderIntegerExcept0;
+-------+
| value |
+-------+
| 90    |
| 10    |
| 0     |
| 40    |
| 0     |
| 50    |
| 80    |
| 0     |
| 300   |
+-------+

অ্যাসেন্ডিং, ০ শেষে:

mysql> SELECT * FROM reorderIntegerExcept0 ORDER BY value=0, value;
+-------+
| value |
+-------+
| 10    |
| 40    |
| 50    |
| 80    |
| 90    |
| 300   |
| 0     |
| 0     |
| 0     |
+-------+

ডিসেন্ডিং, ০ শেষে:

mysql> SELECT * FROM reorderIntegerExcept0 ORDER BY value=0, value DESC;
+-------+
| value |
+-------+
| 300   |
| 90    |
| 80    |
| 50    |
| 40    |
| 10    |
| 0     |
| 0     |
| 0     |
+-------+

ব্যাখ্যা: value=0 একটি বুলিয়ান এক্সপ্রেশন যা ০ হলে ১ (TRUE), অন্যথায় ০ (FALSE) রিটার্ন করে। FALSE (০) আগে সাজায়, TRUE (১) পরে। ফলে ০-এগুলো শেষে চলে যায়।

  1. MySQL SELECT 1 ব্যবহার করে ভ্যালু এক্সিস্ট করে কিনা চেক করার পদ্ধতি

  2. MySQL-এ COLLATE দিয়ে সঠিক স্ট্রিং মান খুঁজে বের করা

  3. MySQL에서 0/1 컬럼 여러 개를 CASE WHEN으로 종합 판단하기

  4. MySQL-এ IF() ফাংশন দিয়ে NOT NULL মান માટે ১ এবং NULL জন্য ০ দেখানো