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

MySQL से परिणाम लौटाते समय संख्यात्मक क्रम

यह आपके डेटाबेस डिज़ाइन में एक समस्या है। विषय संख्या को पूर्णांक के रूप में संग्रहित किया जाना चाहिए। यदि आप डिज़ाइन नहीं बदल सकते हैं, तो इसके बजाय इस क्वेरी को आज़माएँ:

SELECT title
FROM table1
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(title, ' ', 2), ' ', -1)
              AS UNSIGNED);

परिणाम:

'topic 1 foo'
'topic 2 bar'
'topic 10 baz'

परीक्षण डेटा:

DROP TABLE IF EXISTS table1;
CREATE TABLE table1 (title VARCHAR(100) NOT NULL);
INSERT INTO table1 (title) VALUES
('topic 1 foo'),
('topic 2 bar'),
('topic 10 baz');


  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. डेटाबेस विशिष्ट प्रवासन कोड

  3. MySQL आप किसी संग्रहीत कार्यविधि में तालिका को कैसे छोटा करते हैं?

  4. यदि मौजूद नहीं है तो MYSQL डेटाबेस में डालें

  5. CONCAT_WS . से पहले ऑर्डर करें