पाठ्य कॉलम से संख्यात्मक भाग निकालकर अधिकतम मान
RIGHT(), LENGTH(), CAST() के संयोजन से प्रीफिक्स हटाकर संख्यात्मक भाग पर सॉर्ट करें।
तालिका और डेटा
mysql> CREATE TABLE DemoTable1487 (StudentCode TEXT);
mysql> INSERT INTO DemoTable1487 VALUES
-> ('560'), ('789'), ('STUDENT78'), ('John89'), ('Carol101'), ('STUDENT98');
क्वेरी: 'STUDENT' प्रीफिक्स वाले में अधिकतम संख्या
mysql> SELECT * FROM DemoTable1487
-> WHERE StudentCode LIKE 'STUDENT%'
-> ORDER BY CAST(RIGHT(StudentCode, LENGTH(StudentCode) - LENGTH('STUDENT')) AS UNSIGNED) DESC
-> LIMIT 1;
परिणाम
+-------------+
| StudentCode |
+-------------+
| STUDENT98 |
+-------------+
व्याख्या:
LENGTH(StudentCode) - LENGTH('STUDENT')→ संख्यात्मक भाग की लंबाईRIGHT(..., length)→ अंतिम N अक्षर (संख्या)CAST(... AS UNSIGNED)→ संख्या में बदलेंORDER BY ... DESC LIMIT 1→ अधिकतम
बेहतर विकल्प (MySQL 8.0+): REGEXP_SUBSTR() या जेनरेटेड कॉलम।