Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में स्ट्रिंग सहित पूर्णांकों से अधिकतम मान कैसे प्राप्त करें?

CAST() और MAX() से संख्यात्मक भाग का अधिकतम मान निकालें

जब कॉलम में 'STU201' जैसे स्ट्रिंग हों जिनमें संख्यात्मक भाग हो, तो CAST() के साथ MAX() का उपयोग करके केवल संख्यात्मक भाग का अधिकतम मान प्राप्त करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentBookCode VARCHAR(200)
);

mysql> INSERT INTO DemoTable(StudentBookCode) VALUES('STU201');
mysql> INSERT INTO DemoTable(StudentBookCode) VALUES('STU202');
mysql> INSERT INTO DemoTable(StudentBookCode) VALUES('STU203');
mysql> INSERT INTO DemoTable(StudentBookCode) VALUES('STU290');
mysql> INSERT INTO DemoTable(StudentBookCode) VALUES('STU234');

डेटा देखना

mysql> SELECT * FROM DemoTable;

+----+-----------------+
| Id | StudentBookCode |
+----+-----------------+
| 1  | STU201          |
| 2  | STU202          |
| 3  | STU203          |
| 4  | STU290          |
| 5  | STU234          |
+----+-----------------+

अधिकतम मान क्वेरी

mysql> SELECT MAX(CAST(SUBSTRING(StudentBookCode FROM 4) AS UNSIGNED)) FROM DemoTable;

+----------------------------------------------------------+
| MAX(CAST(SUBSTRING(StudentBookCode FROM 4) AS UNSIGNED)) |
+----------------------------------------------------------+
| 290                                                      |
+----------------------------------------------------------+

व्याख्या

  1. SUBSTRING(StudentBookCode FROM 4) - 4th कैरेक्टर से अंत तक निकालता है ('201', '202', आदि)
  2. CAST(... AS UNSIGNED) - स्ट्रिंग को अनसाइन्ड इंटीजर में बदलता है
  3. MAX() - सबसे बड़ा मान लौटाता है

अलग-अलग प्रीफिक्स लंबाई के लिए

यदि प्रीफिक्स लंबाई निश्चित नहीं है, तो SUBSTRING_INDEX() या REGEXP का उपयोग करें:

-- नॉन-न्यूमेरिक प्रीफिक्स हटाने के लिए
SELECT MAX(CAST(REPLACE(REPLACE(StudentBookCode, 'STU', ''), 'ABC', '') AS UNSIGNED)) FROM DemoTable;
  1. - MySQL में विशिष्ट वर्णों से शुरू होने वाले अल्फ़ान्यूमेरिक स्ट्रिंग्स वाले कॉलम से अधिकतम मान कैसे प्राप्त करें

    MAX(), CAST(), SUBSTR() और RLIKE के साथ अल्फ़ान्यूमेरिक अधिकतम मान अधिकतम मान के लिए MAX() के साथ CAST() का उपयोग करें। चूंकि हम विशिष्ट वर्णों से शुरू होने वाले स्ट्रिंग-संख्याओं से अधिकतम मान चाहते हैं, RLIKE का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1381 ( DepartmentId varchar(40) );

  1. - MySQL में समान मान वाली पंक्तियाँ अलग-अलग आईडी के साथ खोजना

    GROUP BY और HAVING से डुप्लिकेट समूह खोजना एक ही मान अलग-अलग आईडी के साथ कितनी बार आता है, यह GROUP BY और HAVING से पता लगाया जा सकता है। तालिका और डेटा (100,Chris), (130,Carol), (100,Chris); क्वेरी: 2 से अधिक बार आने वाले समूह 2; परिणाम +------+-------+---------+ | Id | Name | IdCount | +

  1. - MySQL कॉलम से अधिकतम मान प्राप्त करना

    परिचय MySQL में किसी कॉलम का अधिकतम मान प्राप्त करने के लिए MAX() एग्रीगेट फंक्शन या ORDER BY ... DESC LIMIT 1 का उपयोग किया जा सकता है। टेबल निर्माण और डेटा सम्मिलन insert into DemoTable values(58); Query OK, 1 row affected (0.25 sec) सभी रिकॉर्ड प्रदर्शित करना select * from DemoTable; +-------