Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

उपसर्ग के साथ उन्नत MySQL वर्णमाला क्रमित करें?

आप यह कर सकते हैं:

ORDER BY IF(SUBSTRING(name, 1, 14) = 'University of ', SUBSTRING(name, 15), name)

एक अतिरिक्त name_value . को प्रोजेक्ट करते हुए इस तालिका पर एक दृश्य बनाना एक अच्छा विचार हो सकता है कॉलम को IF() पर सेट किया गया है उपरोक्त अभिव्यक्ति। फिर आप इस कॉलम द्वारा ऑर्डर कर सकते हैं और IF() . के साथ अपने प्रश्नों को प्रदूषित किए बिना इसे चुन सकते हैं ।

उदाहरण दृश्य, यह मानते हुए कि विश्वविद्यालय का नाम name . कॉलम में संग्रहीत है :

CREATE VIEW Universities AS
    SELECT
        list_universities.*,
        IF(SUBSTRING(name, 1, 14) = 'University of ',
           SUBSTRING(name, 15),
           name) AS name_value
    FROM list_universities;

फिर आप Universities . से चयन कर सकते हैं ठीक उसी तरह जैसे आप list_universities . से करते हैं , सिवाय इसके कि इसमें एक अतिरिक्त name_value होगा कॉलम जिसे आप चुन सकते हैं, या उसके अनुसार ऑर्डर कर सकते हैं, या जो भी हो।

ध्यान दें कि यह दृष्टिकोण (साथ ही ORDER BY IF(...) ) name . पर किसी भी इंडेक्स का उपयोग नहीं कर पाएगा प्रकार के प्रदर्शन में सुधार करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'COUNT'/'GROUP BY' MySQL क्वेरी के लिए खाली परिणाम प्राप्त करना

  2. केस-संवेदी जहां लार्वा में बयान

  3. उन सभी पंक्तियों को हटा दें जिनकी किसी अन्य तालिका में कोई आईडी मौजूद नहीं है

  4. तालिका से डुप्लिकेट पंक्तियों को हटाना

  5. मैं एक mysql डेटाबेस में एक post_id कैसे सम्मिलित करूं?