MySQL में ORDER BY क्लॉज़ में बूलियन अभिव्यक्ति का उपयोग करके किसी विशिष्ट मान को परिणाम सेट के अंत में (या शुरुआत में) रखा जा सकता है। यह कस्टम सॉर्टिंग के लिए एक शक्तिशाली तकनीक है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Status INT
);
डेटा डालना
mysql> INSERT INTO DemoTable VALUES(30), (20), (20), (30), (10), (40);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+--------+ | Status | +--------+ | 30 | | 20 | | 20 | | 30 | | 10 | | 40 | +--------+
मान 10 को अंत में रखने की क्वेरी
बूलियन अभिव्यक्ति Status=10 सत्य (1) के लिए 1 और असत्य (0) के लिए 0 लौटाती है। ASC क्रम में 0 पहले आते हैं:
mysql> SELECT * FROM DemoTable ORDER BY Status=10, Status;
आउटपुट
+--------+ | Status | +--------+ | 20 | | 20 | | 30 | | 30 | | 40 | | 10 | +--------+
व्याख्या: Status=10 गैर-10 मानों के लिए 0 (असत्य) और 10 के लिए 1 (सत्य) लौटाता है। डिफ़ॉल्ट ASC क्रम में 0 पहले आते हैं, इसलिए 10 अंत में आता है। फिर द्वितीयक सॉर्ट Status पर होता है।