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

MySQL में आरोही क्रम बनाए रखते हुए 0 मान को अंत में कैसे रखें? ORDER BY ट्रिक

टेबल बनाएं

mysql> create table DemoTable (
    -> Number INT
    -> );
Query OK, 0 rows affected (0.58 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values(9);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(4);
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable values(0);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(7);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(11);
Query OK, 1 row affected (0.12 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+--------+
| Number |
+--------+
| 9      |
| 4      |
| 0      |
| 7      |
| 11     |
+--------+
5 rows in set (0.00 sec)

ORDER BY का उपयोग करके 0 को अंत में रखते हुए आरोही क्रम का क्वेरी

mysql> SELECT * FROM DemoTable ORDER BY Number=0, Number;

आउटपुट:

+--------+
| Number |
+--------+
| 4      |
| 7      |
| 9      |
| 11     |
| 0      |
+--------+
5 rows in set (0.00 sec)

व्याख्या:

  • Number=0 - बूलियन अभिव्यक्ति: 0 के लिए TRUE (1), अन्य के लिए FALSE (0)
  • ORDER BY Number=0, Number - पहले बूलियन परिणाम (0 पहले, फिर 1), फिर वास्तविक संख्या
  • इसलिए गैर-शून्य मान पहले आरोही क्रम में, फिर शून्य मान

वैकल्पिक: ORDER BY CASE WHEN Number=0 THEN 1 ELSE 0 END, Number (अधिक स्पष्ट)।

  1. - MySQL में कॉलम से डुप्लिकेट रिकॉर्ड की गिनती करें और परिणाम को क्रमबद्ध करें

    GROUP BY, COUNT(*), और ORDER BY का उपयोग करके डुप्लिकेट मानों की घटनाओं को गिनें और घटते क्रम में क्रमबद्ध करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Number INT); INSERT INTO DemoTable VALUES(90),(100),(110),(90),(100), (90),(120),(100),(90),(120); सभी रिकॉर्ड देखना SELECT * FROM D

  1. - MySQL में SUBSTRING() और LENGTH() से अंत से X वर्ण हटाएं (TRIM)

    MySQL में किसी स्ट्रिंग के अंत से निर्दिष्ट संख्या में वर्ण हटाने (ट्रिम करने) के लिए SUBSTRING() के साथ LENGTH() फ़ंक्शन का संयोजन उपयोग करें। MySQL में अंत से ट्रिम करने का कोई सीधा RTRIM(n) फ़ंक्शन नहीं है। सिंटैक्स SUBSTRING(column_name, 1, LENGTH(column_name) - n) 1 - प्रारंभ स्थिति (पहला वर्

  1. - MySQL में 'FROM' को कॉलम नाम कैसे बनाएं?

    चूंकि FROM एक आरक्षित शब्द है, इसे कॉलम नाम मानने के लिए बैकटिक्स प्रतीक का उपयोग करें। हम अब FROM आरक्षित शब्द को बैकटिक से घेरकर एक टेबल बनाएंगे: mysql> create table DemoTable1810 ( `from` varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड