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

MySQL में SUBSTRING_INDEX और MIN/MAX से हाइफ़न-अलग संख्याओं का न्यूनतम/अधिकतम निकालना

MySQL में हाइफ़न से अलग दो संख्याओं वाले स्ट्रिंग (जैसे '10-20') से पहली और दूसरी संख्या निकालकर उनका न्यूनतम और अधिकतम खोजने के लिए SUBSTRING_INDEX() के साथ MIN()/MAX() का उपयोग किया जाता है।

उदाहरण के लिए टेबल बनाना

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

डेटा डालना

mysql> INSERT INTO DemoTable(Value) VALUES('10-20'), ('200-100'), ('780-235');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+----+---------+
| Id | Value   |
+----+---------+
| 1  | 10-20   |
| 2  | 200-100 |
| 3  | 780-235 |
+----+---------+

पहली संख्या का न्यूनतम और दूसरी संख्या का अधिकतम

mysql> SELECT MIN(SUBSTRING_INDEX(Value, '-', 1)), MAX(SUBSTRING_INDEX(Value, '-', -1)) FROM DemoTable;

आउटपुट

+-------------------------------------+--------------------------------------+
| MIN(SUBSTRING_INDEX(Value, '-', 1)) | MAX(SUBSTRING_INDEX(Value, '-', -1)) |
+-------------------------------------+--------------------------------------+
| 10                                  | 235                                  |
+-------------------------------------+--------------------------------------+

व्याख्या: SUBSTRING_INDEX(Value, '-', 1) पहले हाइफ़न से पहले का भाग (पहली संख्या)। SUBSTRING_INDEX(Value, '-', -1) अंतिम हाइफ़न के बाद का भाग (दूसरी संख्या)। नोट: स्ट्रिंग तुलना होती है; संख्यात्मक तुलना के लिए CAST(... AS UNSIGNED) उपयोग करें।

  1. - MySQL में स्ट्रिंग और संख्या वाले VARCHAR रिकॉर्ड को कैसे क्रमबद्ध करें?

    MySQL में अल्फान्यूमेरिक कोड (जैसे 100A, 101J) को संख्यात्मक भाग के अनुसार क्रमबद्ध करने के लिए ORDER BY column+0, column तकनीक का उपयोग करें। समस्या स्ट्रिंग क्रम: 100A, 100B, 101J, 101S, 103M (लेक्सिकोग्राफिक) वांछित क्रम: संख्यात्मक भाग पहले, फिर अक्षर उदाहरण mysql> CREATE TABLE DemoTable (S

  1. - MySQL में VARCHAR स्ट्रिंग से हाइफ़न के बाद की संख्याओं को कैसे हटाएं

    समाधान SUBSTRING_INDEX() फंक्शन का उपयोग करके हाइफ़न से पहले का भाग प्राप्त करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2040 VALUES (John-232), (Carol-901), (David-987); अपडेट क्वेरी UPDATE DemoTable2040 SET StudentCode = SUBSTRING_INDEX(StudentCode, -, 1); परिणाम +-------------+ | StudentCod

  1. - MySQL में न्यूनतम और अधिकतम मान प्राप्त करना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा, जबकि किसी कॉलम में न्यूनतम मान खोजने के लिए MIN(columnName) का उपयोग करना होगा। मान लीजिए किसी विशिष्ट कॉलम में उच्चतम और निम्नतम मान खोजने का सिंटैक्स इस प्रकार है: mysql> SELECT @min_val:=MIN(columnName),@max_val:=MAX(c