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 +----+----------+-------+
সুবিধা: ভিউ বা ভার্চুয়াল কলাম ছাড়া সরাসরি কোয়ারিতে ক্যালকুলেশন করে সাজানো যায়।