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

MySQL परिणामों को पहले अक्षरों के साथ कैसे क्रमबद्ध करें, प्रतीक अंतिम?

इससे उन सभी कलाकारों को रखा जाएगा जिनके नाम a-z में एक अक्षर से शुरू होते हैं, जो नहीं करते हैं:

SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist

इसे ऑनलाइन काम करते हुए देखें:sqlfiddle

लेकिन आप सरल नाम के साथ दूसरा कॉलम स्टोर करना पसंद कर सकते हैं ताकि आप उन्हें ऐसे क्रम में रख सकें जो अधिक समझ में आता है:

artists

artist            | simplified_name
------------------------------------
&i                | i
+NURSE            | nurse
2007excalibur2007 | excalibur

simplified_name . के लिए मान MySQL में आसानी से उत्पन्न नहीं किया जा सकता है, इसलिए आप सभी कलाकारों को बाहर निकालने के लिए एक सामान्य प्रयोजन प्रोग्रामिंग भाषा का उपयोग करना चाह सकते हैं, उन्हें सरलीकृत नामों में बदल सकते हैं, फिर परिणामों के साथ डेटाबेस को पॉप्युलेट कर सकते हैं।

एक बार यह हो जाने के बाद, आप इस क्वेरी का उपयोग कर सकते हैं:

SELECT DISTINCT artist
FROM artists
ORDER BY simplified_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. दिनांक पिकर के माध्यम से क्वेरी फ़िल्टर करने के बाद किसी विशेष मान के साथ पंक्तियों की संख्या प्राप्त करना

  2. अनुमानित पंक्तियों की गणना phpmyadmin परिणामों में बहुत भिन्न क्यों है?

  3. संख्याओं के साथ स्ट्रिंग द्वारा MySQL क्रम

  4. pyodbc + MySQL + Windows:डेटा स्रोत का नाम नहीं मिला और कोई डिफ़ॉल्ट ड्राइवर निर्दिष्ट नहीं है

  5. mysql_real_escape_string अपरिभाषित है