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

MySQL में ORDER BY से विशिष्ट मान को अंत में रखना

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 पर होता है।

  1. - MySQL में SUBSTRING_INDEX और CAST के साथ संख्या सेट के पहले नंबर द्वारा क्रमबद्ध करना

    MySQL में SUBSTRING_INDEX() के साथ अल्पविराम से अलग संख्याओं के पहले नंबर द्वारा क्रमबद्ध करना जब कॉलम में 245,654,76,89,98 जैसे अल्पविराम से अलग संख्याएं हों, तो SUBSTRING_INDEX() से पहला नंबर निकालकर संख्यात्मक क्रमबद्ध किया जा सकता है। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable (

  1. - MySQL में COUNT और GROUP BY से विशिष्ट पैटर्न के विशिष्ट आइटम गिनें

    किसी कॉलम में विशिष्ट पैटर्न (जैसे John-%) से शुरू होने वाले मानों की प्रति-मान गणना करने के लिए LIKE फ़िल्टर के साथ COUNT() और GROUP BY का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1854 (Name VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1854 VALUES(John-Smith); mysql> I

  1. - MySQL में कॉमा-सेपरेटेड मान वाले कॉलम में विशिष्ट संख्या खोजकर रिकॉर्ड चुनें

    CONCAT() + LIKE कॉमा सेपरेटेड स्ट्रिंग में सटीक संख्या मिलान के लिए: select * from yourTableName where concat(,, yourColumnName, ,) like %,yourValue,%; उदाहरण insert into demo49 values(4,5,6,Adam), (5,3,2,Mike), (3,4,9,Bob); संख्या 4 खोजना select * from demo49 where concat(,, id, ,) like %,4,%;