CAST और SUBSTRING से संख्यात्मक भाग अनुसार क्रमबद्ध करें
'John_12', 'Chris_101' जैसे स्ट्रिंग कॉलम से संख्यात्मक भाग निकालकर क्रमबद्ध करें और विशिष्ट रिकॉर्ड प्राप्त करें।
टेबल बनाएं और डेटा डालें:
mysql> create table DemoTable2006 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20) ); Query OK, 0 rows affected (1.14 sec)
mysql> insert into DemoTable2006(UserCode) values('John_12'); ...
क्वेरी: 'John' से शुरू होने वाले कोड में सबसे बड़ी संख्या वाला रिकॉर्ड:
mysql> select * from DemoTable2006 where UserCode like 'John%' order by cast(substring(UserCode from 7) as signed) desc limit 1;
आउटपुट:
+--------+----------+ | UserId | UserCode | +--------+----------+ | 3 | John_56 | +--------+----------+ 1 row in set (0.00 sec)
व्याख्या: SUBSTRING(UserCode from 7) अंडरस्कोर के बाद का भाग निकालता है, CAST(... AS SIGNED) संख्या में बदलता है, DESC अवरोही क्रम, LIMIT 1 शीर्ष रिकॉर्ड।