Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

क्या MySQL रिजल्ट को गणितीय ऑपरेशन से ऑर्डर कर सकते हैं?


ORDER BY में गणितीय एक्सप्रेशन

हां, MySQL में ORDER BY क्लॉज में सीधे गणितीय ऑपरेशन उपयोग कर सकते हैं।

उदाहरण: मात्रा × कीमत के अनुसार ऑर्डर

टेबल बनाएं:

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);

मूल डेटा:

+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 1  | 10       | 50    |
| 2  | 20       | 40    |
| 3  | 2        | 20    |
| 4  | 11       | 10    |
+------+----------+-------+

केस 1: आरोही क्रम (कुल मूल्य बढ़ते क्रम में)

mysql> SELECT * FROM orderByMathCalculation ORDER BY Quantity * Price;

परिणाम:

+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 3  | 2        | 20    |  -- 2×20=40
| 4  | 11       | 10    |  -- 11×10=110
| 1  | 10       | 50    |  -- 10×50=500
| 2  | 20       | 40    |  -- 20×40=800
+----+----------+-------+

केस 2: अवरोही क्रम (कुल मूल्य घटते क्रम में)

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
+----+----------+-------+

समर्थित ऑपरेटर

ऑपरेटरउदाहरण
+ORDER BY col1 + col2
-ORDER BY col1 - col2
*ORDER BY col1 * col2
/ORDER BY col1 / col2
%ORDER BY col1 % col2
फंक्शनORDER BY ABS(col1 - col2)

प्रदर्शन नोट: एक्सप्रेशन पर सॉर्ट करने से इंडेक्स उपयोग नहीं हो सकता। बड़ी टेबल के लिए कंप्यूटेड कॉलम या इंडेक्स्ड व्यू पर विचार करें।

  1. - MySQL में आरक्षित शब्द 'order' को टेबल नाम के रूप में उपयोग करने के लिए बैकटिक्स

    MySQL में ORDER एक आरक्षित शब्द (reserved word) है। इसे टेबल या कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक्स (`) से घेरना आवश्यक है। समस्या CREATE TABLE order (StudentId INT); ERROR 1064: You have an error in your SQL syntax near order समाधान: बैकटिक्स का उपयोग CREATE TABLE `order` (StudentId

  1. - MySQL में न्यूमेरिक यूज़र-डिफ़ाइंड वेरिएबल के साथ ORDER BY कैसे करें?

    MySQL में डायनामिक कॉलम नाम के साथ ORDER BY करने के लिए, यूज़र-डिफ़ाइंड वेरिएबल और PREPARED STATEMENT का उपयोग करें। यह तब उपयोगी होता है जब कॉलम का नाम रनटाइम पर तय होता है। उदाहरण: वेरिएबल के साथ डायनामिक ORDER BY डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1898 (Number INT); डेटा इन्सर्ट

  1. - MySQL में SELECT क्वेरी परिणाम को क्रमबद्ध करना (ORDER BY)

    टेबल से डेटा चुनते समय पंक्तियाँ टेबल में मौजूद क्रम में आती हैं। विशिष्ट क्रम में प्राप्त करने के लिए ORDER BY उपयोग करें। सिंटैक्स आरोही क्रम (डिफ़ॉल्ट): SELECT * FROM table_name ORDER BY column_name अवरोही क्रम: SELECT * FROM table_name ORDER BY column_name DESC Python में MySQL से क्रमबद्ध डेट