MYSQL में, जैसा कि हम जानते हैं कि प्रत्येक ENUM मान एक इंडेक्स नंबर से जुड़ा होता है। ENUM मानों को छाँटने का आधार उनकी अनुक्रमणिका संख्या भी है। इसके अलावा, सूचकांक संख्या उस क्रम पर निर्भर करती है जिसमें गणना सदस्यों को कॉलम विनिर्देश में सूचीबद्ध किया गया था। उदाहरण के लिए, ENUM ('अच्छा', 'उत्कृष्ट') कॉलम में, 'उत्कृष्ट' से पहले 'अच्छा' टाइप करता है। दूसरे शब्दों में हम कह सकते हैं कि 'GOOD' का इंडेक्स नंबर '1' होगा और 'EXCELLENT' का इंडेक्स नंबर '2' होगा।
MySQL खाली स्ट्रिंग और नल मानों को ENUM में भी स्टोर कर सकता है। यह खाली स्ट्रिंग से पहले खाली स्ट्रिंग और खाली स्ट्रिंग से पहले NULL को सॉर्ट करता है। इसलिए छँटाई का क्रम इस प्रकार होगा -
ENUM मानों का क्रमबद्ध क्रम |
1. NULL |
2. खाली स्ट्रिंग |
3. गैर-रिक्त स्ट्रिंग |
उदाहरण
इस उदाहरण में, हमारे पास एक तालिका 'परिणाम' है जिसमें ENUM कॉलम 'ग्रेड' है। इस तालिका में निम्नलिखित मान हैं।
mysql> Select * from Result; +-----+--------+-------+ | Id | Name | Grade | +-----+--------+-------+ | 100 | Gaurav | GOOD | | 101 | Rahul | POOR | | 102 | Rahul | NULL | | 103 | Mohan | | +-----+--------+-------+ 4 rows in set (0.00 sec)
अब, ORDER BY क्लॉज का उपयोग करने के बाद MySQL सॉर्ट किए गए आउटपुट को लौटाता है। हम देख सकते हैं कि आउटपुट को इंडेक्स नंबर के आधार पर सॉर्ट किया जाता है।
mysql> Select * from result order by grade; +-----+--------+-------+ | Id | Name | Grade | +-----+--------+-------+ | 102 | Rahul | NULL | | 103 | Mohan | | | 101 | Rahul | POOR | | 100 | Gaurav | GOOD | +-----+--------+-------+ 4 rows in set (0.00 sec)