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

MySQL-এ গাণিতিক অপারেশন দিয়ে ORDER BY করা


MySQL-এ ORDER BY-এ এক্সপ্রেশন (গাণিতিক) ব্যবহার

MySQL-এ ORDER BY ক্লজে কলামের পাশাপাশি গাণিতিক এক্সপ্রেশন (যেমন Quantity * Price) ব্যবহার করে সাজানো যায়। এটি ক্যালকুলেটেড ফিল্ডে সাজানোর জন্য উপযোগী।

সিনট্যাক্স

SELECT * FROM yourTableName ORDER BY column1 * column2 [ASC|DESC];

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

টেবিল তৈরি:

mysql> CREATE TABLE orderByMathCalculation (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Quantity INT,
    -> Price INT
    -> );

ডেটা ইনসার্ট:

mysql> INSERT INTO orderByMathCalculation(Quantity, Price) VALUES(10, 50), (20, 40), (2, 20), (11, 10);

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

mysql> SELECT * FROM orderByMathCalculation;
+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 1  | 10       | 50    |
| 2  | 20       | 40    |
| 3  | 2        | 20    |
| 4  | 11       | 10    |
+----+----------+-------+

অ্যাসেন্ডিং (Quantity × Price):

mysql> SELECT * FROM orderByMathCalculation ORDER BY Quantity * Price;
+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 3  | 2        | 20    |  -- 40
| 4  | 11       | 10    |  -- 110
| 1  | 10       | 50    |  -- 500
| 2  | 20       | 40    |  -- 800
+----+----------+-------+

ডিসেন্ডিং:

mysql> SELECT * FROM orderByMathCalculation ORDER BY Quantity * Price DESC;
+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 2  | 20       | 40    |  -- 800
| 1  | 10       | 50    |  -- 500
| 4  | 11       | 10    |  -- 110
| 3  | 2        | 20    |  -- 40
+----+----------+-------+

সুবিধা: ভিউ বা ভার্চুয়াল কলাম ছাড়া সরাসরি কোয়ারিতে ক্যালকুলেশন করে সাজানো যায়।

  1. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো

  2. MySQL-এ রিজার্ভড ওয়ার্ড 'order' টেবিল নাম হিসেবে ব্যবহার করুন (ব্যাকটিকস)

  3. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল দিয়ে ORDER BY করা

  4. MySQL-এ SELECT ক্যোয়ারির ফলাফল অর্ডার করা