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

MySQL में SELECT न किए गए कॉलम द्वारा सॉर्ट ऑर्डर कैसे निर्दिष्ट करें?

ORDER BY क्लॉज में उस कॉलम का उपयोग कर सकते हैं जिसे SELECT सूची में शामिल नहीं किया गया है। क्वेरी द्वारा कॉलम पुनर्प्राप्त न करने पर भी उस पर सॉर्टिंग संभव है।

उदाहरण - ratelist टेबल:

mysql> Select Sr, Item from ratelist ORDER BY Price;
+----+------+
| Sr | Item |
+----+------+
| 5  | T    |
| 1  | A    |
| 2  | B    |
| 4  | h    |
| 3  | C    |
+----+------+
5 rows in set (0.00 sec)

विश्लेषण:

  • SELECT Sr, Item - केवल Sr और Item कॉलम चुनें
  • ORDER BY Price - Price कॉलम द्वारा क्रमबद्ध (जो SELECT में नहीं है)
  • परिणाम Price के अनुसार क्रमबद्ध है, लेकिन Price कॉलम आउटपुट में नहीं दिखता

उपयोग केस:

  • आंतरिक गणना/सॉर्टिंग के लिए छिपे कॉलम उपयोग करना
  • API प्रतिक्रिया में अनावश्यक कॉलम न भेजकर बैंडविड्थ बचाना
  • सॉर्टिंग के बाद केवल आवश्यक कॉलम लौटाना

सावधानी:

  • DISTINCT के साथ उपयोग करते समय सावधान रहें - अदृश्य कॉलम पर सॉर्टिंग अप्रत्याशित परिणाम दे सकती है
  • GROUP BY के साथ, गैर-एग्रीगेटेड कॉलम पर ORDER BY केवल MySQL के ONLY_FULL_GROUP_BY मोड पर निर्भर करता है

मानक SQL: यह व्यवहार SQL मानक के अनुसार है और अधिकांश RDBMS (PostgreSQL, SQL Server, Oracle) में समर्थित है।

  1. - MySQL क्वेरी में कॉलम नाम 'from' का उपयोग करने में समस्या?

    आप from को सीधे कॉलम नाम के रूप में उपयोग नहीं कर सकते क्योंकि from MySQL में एक रिजर्व्ड वर्ड है। यदि आप अभी भी इसका उपयोग करना चाहते हैं, तो आपको बैकटिक सिंबल का उपयोग करना होगा। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT

  1. - ORDER BY CASE WHEN REGEXP का उपयोग करके क्वेरी को कैसे क्रमबद्ध करें?

    नियमित अभिव्यक्ति के साथ CASE स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Value VARCHAR(20) ); टेबल में कुछ रिकॉर्ड डालें: INSERT INTO DemoTable(Value) VALUES(190); टेबल से सभी रिकॉर्ड प्रदर्शित करें: SELECT * F

  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 से क्रमबद्ध डेट