0 को अंत में रखकर सॉर्ट करना
MySQL में इंटीजर कॉलम को सॉर्ट करते समय 0 मान को अंत में रखने के लिए ORDER BY column=0, column का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName;
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE reorderIntegerExcept0 (
-> value INT
-> );
डेटा इन्सर्ट करें (0 सहित):
mysql> INSERT INTO reorderIntegerExcept0 VALUES(90), (10), (0), (40), (0), (50), (80), (0), (300);
सामान्य क्रम:
+-------+ | value | +-------+ | 90 | | 10 | | 0 | | 40 | | 0 | | 50 | | 80 | | 0 | | 300 | +-------+
0 को अंत में रखकर आरोही क्रम
mysql> SELECT * FROM reorderIntegerExcept0
-> ORDER BY value = 0, value;
परिणाम:
+-------+ | value | +-------+ | 10 | | 40 | | 50 | | 80 | | 90 | | 300 | | 0 | | 0 | | 0 | +-------+
0 को अंत में रखकर अवरोही क्रम
mysql> SELECT * FROM reorderIntegerExcept0
-> ORDER BY value = 0, value DESC;
परिणाम:
+-------+ | value | +-------+ | 300 | | 90 | | 80 | | 50 | | 40 | | 10 | | 0 | | 0 | | 0 | +-------+
कैसे काम करता है:
value = 0एक बूलियन एक्सप्रेशन है जो 0 के लिए TRUE (1) और अन्य के लिए FALSE (0) देता हैORDER BYपहले इस बूलियन मान से सॉर्ट करता है (FALSE=0 पहले, TRUE=1 बाद में)- फिर वास्तविक मान से सॉर्ट करता है
उपयोग: यह तब उपयोगी है जब 0 "कोई डेटा नहीं" या "लागू नहीं" दर्शाता हो।