इसके साथ समस्या यह है कि एक डुप्लीकेट मान है जिसे आप अपने ऑर्डर के लिए निर्दिष्ट करते हैं या तो मिस्टर या मिसेज। इसके साथ कोई गारंटीकृत चयन ऑर्डर नहीं है क्योंकि वे सभी मिस्टर या मिसेज हैं।
यदि आप यह सुनिश्चित करना चाहते हैं कि यह हमेशा एक विशिष्ट क्रम में रहने वाला है तो आपको प्राथमिक कुंजी को दूसरे क्रम के रूप में भी शामिल करना चाहिए ताकि इसे वही रखा जा सके .. उर्फ
ORDER BY CON_PREFIX ASC, M_ID ASC
जैसा कि यह अभी खड़ा है ORDER BY CON_PREFIX
आपको वही दे रहा है जो आपको देना चाहिए, आरोही क्रम में उपसर्ग, इसके कारण की सीमा से संबंधित कुछ भी नहीं है, आपने बस MySQL को यह नहीं बताया कि आप और कैसे डेटा आपको वापस करना चाहते हैं।
आपके PERSONAL OPINION
का जवाब देने के लिए प्रश्न में संपादित करें .... आप जो वर्णन कर रहे हैं वह अनुचित है, इसे इस तरह से सोचें कि कोई भी डिफ़ॉल्ट आदेश जो डेटा को बाहर निकालने के लिए उपयोग किया जाएगा, अब चला गया है क्योंकि आप एक आदेश निर्दिष्ट कर रहे हैं। अगर क्लॉज पर कोई ऑर्डर नहीं था तो MySQL का एक सामान्य चयन पैटर्न है लेकिन फिर से एक बार जब आप क्वेरी पर ऑर्डर डालते हैं तो वह चला जाता है