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

MySQL में अंडरस्कोर वाले स्ट्रिंग्स को ORDER BY करना

MySQL में LIKE पैटर्न और ORDER BY के साथ विशिष्ट पैटर्न वाले नामों को प्राथमिकता देना

ORDER BY में बूलियन एक्सप्रेशन का उपयोग करके विशिष्ट पैटर्न (जैसे "John_") से शुरू होने वाले नामों को परिणामों में पहले रखा जा सकता है।

व्यावहारिक उदाहरण

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    Name VARCHAR(100)
);

रिकॉर्ड डालना (अंडरस्कोर वाले नाम सहित)

mysql> INSERT INTO DemoTable VALUES('John_Smith');
mysql> INSERT INTO DemoTable VALUES('Chris Brown');
mysql> INSERT INTO DemoTable VALUES('John_Doe');
mysql> INSERT INTO DemoTable VALUES('David Miller');
mysql> INSERT INTO DemoTable VALUES('Carol Taylor');

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+--------------+
| Name         |
+--------------+
| John_Smith   |
| Chris Brown  |
| John_Doe     |
| David Miller |
| Carol Taylor |
+--------------+

"John_" से शुरू होने वाले नामों को पहले रखने के लिए क्वेरी

mysql> SELECT * FROM DemoTable 
ORDER BY (Name LIKE 'John_%') DESC, RAND();

आउटपुट:

+--------------+
| Name         |
+--------------+
| John_Doe     |
| John_Smith   |
| Carol Taylor |
| David Miller |
| Chris Brown  |

व्याख्या

  • Name LIKE 'John_%' - "John_" से शुरू होने वाले नामों के लिए 1 (सत्य), अन्य के लिए 0
  • DESC - 1 को पहले रखता है (मिलान करने वाले नाम पहले)
  • RAND() - प्रत्येक समूह के भीतर रैंडम क्रम (निष्पक्षता के लिए)

अन्य पैटर्न मिलान उदाहरण

  1. - MySQL में GROUP_CONCAT ORDER BY से समुच्चय फ़ंक्शन को क्रमबद्ध करें

    MySQL में GROUP_CONCAT() के अंदर ORDER BY क्लॉज का उपयोग करके जोड़े गए मानों का क्रम नियंत्रित कर सकते हैं। सिंटैक्स GROUP_CONCAT(कॉलम_नाम ORDER BY क्रम_कॉलम [ASC|DESC] SEPARATOR अलग_करने_वाला) उदाहरण: StudentId क्रम में नाम जोड़ें 1. टेबल बनाएं ); 2. डेटा डालें (समान अंक, अलग ID) INSERT INTO

  1. - MySQL में न्यूमेरिक यूज़र-डिफ़ाइंड वेरिएबल के साथ ORDER BY कैसे करें?

    MySQL में डायनामिक कॉलम नाम के साथ ORDER BY करने के लिए, यूज़र-डिफ़ाइंड वेरिएबल और PREPARED STATEMENT का उपयोग करें। यह तब उपयोगी होता है जब कॉलम का नाम रनटाइम पर तय होता है। उदाहरण: वेरिएबल के साथ डायनामिक ORDER BY डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1898 (Number INT); डेटा इन्सर्ट

  1. - MySQL में दशमलव बिंदु से दो स्थान पहले का अंक कैसे प्राप्त करें

    समाधान DIV ऑपरेटर का उपयोग करके पूर्णांक विभाजन करें। उदाहरण टेबल बनाएं: INSERT INTO demo1 VALUES (456.54), (50.64), (1000.78); क्वेरी SELECT value DIV 10 % 10 FROM demo1; परिणाम +-----------------+ | value DIV 10%10 | +-----------------+ | 5 | | 5 | | 0