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 सेकंड) चयन कथन का उपयोग करके तालिका से सभ