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

MySQL में ORDER BY FIELD() से कस्टम क्रम में सॉर्ट करें

MySQL का ORDER BY FIELD() फ़ंक्शन आपको पूर्वनिर्धारित क्रम में परिणामों को सॉर्ट करने की अनुमति देता है, न कि केवल आरोही या अवरोही क्रम में।

सिंटैक्स

SELECT * FROM टेबल_नाम
ORDER BY FIELD(कॉलम_नाम, 'मान1', 'मान2', 'मान3', ...);

उदाहरण: नौकरी पदनाम को वरिष्ठता क्रम में सॉर्ट करना

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable (
    -> Designation VARCHAR(100)
    -> );

2. डेटा डालें

mysql> INSERT INTO DemoTable VALUES('Software Engineer');
mysql> INSERT INTO DemoTable VALUES('Associate Software Engineer');
mysql> INSERT INTO DemoTable VALUES('Software Development Engineer');
mysql> INSERT INTO DemoTable VALUES('Product Manager');

3. डिफ़ॉल्ट क्रम (वर्णानुक्रम)

mysql> SELECT * FROM DemoTable;
+-------------------------------+
| Designation                   |
+-------------------------------+
| Software Engineer             |
| Associate Software Engineer   |
| Software Development Engineer |
| Product Manager               |
+-------------------------------+

4. कस्टम क्रम लागू करें

mysql> SELECT * FROM DemoTable
    -> ORDER BY FIELD(Designation,
    ->     'Associate Software Engineer',
    ->     'Software Engineer',
    ->     'Software Development Engineer',
    ->     'Product Manager');

5. परिणाम (वरिष्ठता क्रम में)

+-------------------------------+
| Designation                   |
+-------------------------------+
| Associate Software Engineer   |
| Software Engineer             |
| Software Development Engineer |
| Product Manager               |
+-------------------------------+

महत्वपूर्ण बिंदु

  • सूची में न मिलने वाले मान पहले आते हैं (मान 0)
  • केस-संवेदी तुलना होती है
  • संख्याओं के लिए भी काम करता है
  • एकाधिक कॉलम के साथ संयोजित कर सकते हैं

उन्नत उपयोग

-- DESC के साथ उल्टा क्रम
ORDER BY FIELD(status, 'pending', 'approved', 'rejected') DESC

-- द्वितीयक सॉर्ट के साथ
ORDER BY FIELD(priority, 'high', 'medium', 'low'), created_at DESC
  1. - MySQL में INET_ATON का उपयोग करके IP पतों को मानव-पठनीय क्रम में ऑर्डर करें

    MySQL में IP पतों को सही ढंग से क्रमबद्ध करना: INET_ATON() IP पते (IPv4) को स्ट्रिंग के रूप में क्रमबद्ध करने पर गलत क्रम मिलता है क्योंकि स्ट्रिंग तुलना वर्ण-दर-वर्ण काम करती है (उदाहरण: 192.168.110.100 192.168.110.2 से पहले आता है)। INET_ATON() IP पते को संख्या में बदलता है, जिससे सही संख्यात्मक क

  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. - पायथन में कस्टम ऑर्डर में स्ट्रिंग सॉर्ट करने का प्रोग्राम

    मान लीजिए हमारे पास एक अल्फान्यूमेरिक स्ट्रिंग s है। हमें इसे निम्न शर्त के आधार पर सॉर्ट करना है:सभी सॉर्ट किए गए लोअरकेस अक्षर अपरकेस अक्षरों से पहले रखे जाएंगेसभी सॉर्ट किए गए अपरकेस अक्षर अंकों से पहले रखे जाएंगेसभी सॉर्ट किए गए विषम अंक सम अंकों से पहले रखे जाएंगेउदाहरण के लिए, यदि इनपुट s = He