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

MySQL में 0 को छोड़कर इंटीजर को कैसे रीऑर्डर करें?


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 "कोई डेटा नहीं" या "लागू नहीं" दर्शाता हो।

  1. - MySQL में COLLATE के साथ सटीक स्ट्रिंग मान खोजें

    COLLATE utf8_bin का उपयोग करके केस-सेंसिटिव सटीक मिलान पहले टेबल बनाएं: create table DemoTable1620 ( Subject varchar(20) ); Query OK, 0 rows affected (0.42 sec) रिकॉर्ड डालें: insert into DemoTable1620 values(MYSQL); Query OK, 1 row affected (0.20 sec) सभी रिकॉर्ड देखें: select * from DemoTable16

  1. - MySQL में 0 या 1 मान वाले कॉलम के लिए शर्तें सेट करें

    शर्तें सेट करने के लिए MySQL में CASE WHEN स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Value1 int, -> Value2 int, -> Value3 int, -> Value4 int -> ); Query OK, 0 rows affected (0.98 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉ

  1. - MySQL में NOT NULL मान के लिए 1 सेट करें

    MySQL में किसी कॉलम के NOT NULL मान होने पर 1 और NULL होने पर 0 लौटाने के लिए IF() फंक्शन के साथ IS NOT NULL ऑपरेटर का उपयोग करें। यह डेटा वैलिडेशन, रिपोर्टिंग, और कंडीशनल एग्रीगेशन के लिए उपयोगी है। बुनियादी सिंटैक्स SELECT IF( IS NOT NULL, 1, 0) AS anyAliasName; आउटपुट: 1 (क्योंकि खाली स्ट्रिंग N