MAX(), CAST(), SUBSTR() और RLIKE के साथ अल्फ़ान्यूमेरिक अधिकतम मान
अधिकतम मान के लिए MAX() के साथ CAST() का उपयोग करें। चूंकि हम विशिष्ट वर्णों से शुरू होने वाले स्ट्रिंग-संख्याओं से अधिकतम मान चाहते हैं, RLIKE का उपयोग करें। पहले टेबल बनाएं:
mysql> create table DemoTable1381 ( DepartmentId varchar(40) ); Query OK, 0 rows affected (0.48 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1381 values('IT794'); Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1381 values('AT1034'); Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable1381 values('IT967'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1381 values('IT874'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1381 values('AT967'); Query OK, 1 row affected (0.09 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1381;
आउटपुट:
+--------------+ | DepartmentId | +--------------+ | IT794 | | AT1034 | | IT967 | | IT874 | | AT967 | +--------------+ 5 rows in set (0.00 sec)
विशिष्ट वर्णों ("IT" यहां) से शुरू होने वाले अल्फ़ान्यूमेरिक स्ट्रिंग्स वाले कॉलम से अधिकतम मान प्राप्त करने की क्वेरी:
mysql> select max(cast(substr(trim(DepartmentId),3) as unsigned)) from DemoTable1381 where DepartmentId RLIKE 'IT';
परिणाम:
+-----------------------------------------------------+ | max(cast(substr(trim(DepartmentId),3) as unsigned)) | +-----------------------------------------------------+ | 967 | +-----------------------------------------------------+ 1 row in set (0.10 sec)
व्याख्या: RLIKE 'IT' केवल "IT" से शुरू होने वाली पंक्तियों को फ़िल्टर करता है। SUBSTR(TRIM(DepartmentId),3) पहले 2 वर्ण ("IT") को छोड़कर शेष संख्यात्मक भाग निकालता है। CAST(... AS UNSIGNED) इसे संख्या में बदलता है। MAX() अधिकतम मान (967) लौटाता है।