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

पहले वर्णमाला के आधार पर ऑर्डर करें और फिर MySQL में संख्या के अनुसार क्रम दें?

<घंटा/>

आपको ORDER BY क्लॉज के साथ रेगुलर एक्सप्रेशन का उपयोग करने की आवश्यकता है। वाक्य रचना इस प्रकार है:

चुनें *अपनेTableNameORDER से IF(yourColumnName RLIKE '^[a-z]', 1, 2),yourColumnName;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:

mysql> टेबल बनाएं AlphabetFirstThenNumberDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.95 सेकंड) 

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:

mysql> AlphabetFirstThenNumberDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.37 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.21 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('1Sam') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.22 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('2Larry') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.31 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('डेविड') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.27 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('3Mike') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> AlphabetFirstThenNumberDemo (नाम) मान ('रॉबर्ट') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.10 सेकंड)

अब आप सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:

mysql> AlphabetFirstTheNNumberDemo से *चुनें;

निम्न आउटपुट है:

<पूर्व>+-----+--------+| आईडी | नाम |+----+-----------+| 1 | जॉन || 2 | बॉब || 3 | 1सैम || 4 | कैरल || 5 | 2लैरी || 6 | डेविड || 7 | 3माइक || 8 | रॉबर्ट |+----+--------+8 पंक्तियों में सेट (0.00 सेकंड)

यहां पहले वर्णमाला के अनुसार क्वेरी क्रम दिया गया है और उसके बाद एक संख्या दी गई है। क्वेरी इस प्रकार है:

mysql> AlphabetFirstThenNumberDemo से *चुनें -> ऑर्डर बाय IF(Name RLIKE '^[a-z]', 1, 2),Name;

निम्न आउटपुट है:

<पूर्व>+-----+--------+| आईडी | नाम |+----+-----------+| 2 | बॉब || 4 | कैरल || 6 | डेविड || 1 | जॉन || 8 | रॉबर्ट || 3 | 1सैम || 5 | 2लैरी || 7 | 3माइक |+-----+-----------+8 पंक्तियों में सेट (0.00 सेकंड)
  1. - MySQL क्वेरी संख्याओं के एक सेट में पहले नंबर से ऑर्डर करने के लिए?

    संख्याओं के समूह में पहले नंबर से ऑर्डर करने के लिए, ORDER BY SUBSTRING_INDEX() का उपयोग करें। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(SetOfNumbers text);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.53 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (1001

  1. - एकाधिक आईडी द्वारा MySQL क्वेरी ऑर्डर करें?

    इसके लिए ORDER BY FIELD() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(ClientId varchar(40), ClientName varchar(40));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.55 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (2000_बॉब, बॉब); क्वेरी ठीक है, 1

  1. - पहले पिछले 3 महीनों तक ऑर्डर करें, फिर MySQL में वर्णानुक्रम में?

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.67 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। यहां, हमने 2019 की तारीखें डाली हैं - डेमोटेबल में डालें1526 मान (बॉब, 2019-12-31); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.23 सेकंड) चयन कथन का उपयोग करके तालिका से सभ