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

MySQL में VARCHAR फ़ील्ड से अधिकतम मान कैसे प्राप्त करें? MAX() और SUBSTRING()

इसके लिए MAX() फ़ंक्शन के साथ SUBSTRING() का उपयोग करें।

टेबल बनाएं

mysql> create table DemoTable (
    -> Id varchar(200)
    -> );
Query OK, 0 rows affected (0.52 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('2019-0515-1980');
Query OK, 1 row affected (0.49 sec)
mysql> insert into DemoTable values('2019-0516-780');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2019-0517-2780');
Query OK, 1 row affected (0.16 sec)

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

mysql> select * from DemoTable;
+----------------+
| Id             |
+----------------+
| 2019-0515-1980 |
| 2019-0516-780  |
| 2019-0517-2780 |
+----------------+
3 rows in set (0.00 sec)

VARCHAR फ़ील्ड से अधिकतम मान प्राप्त करने का क्वेरी

mysql> select max(Id) from DemoTable
    -> where Id LIKE CONCAT(SUBSTRING(Id, 1, 4), '%');

आउटपुट:

+----------------+
| max(Id)        |
+----------------+
| 2019-0517-2780 |
+----------------+
1 row in set (0.00 sec)

व्याख्या:

  • SUBSTRING(Id, 1, 4) - पहले 4 वर्ण (वर्ष "2019")
  • CONCAT(..., '%') - "2019%" पैटर्न बनाता है
  • WHERE Id LIKE ... - केवल 2019 से शुरू होने वाली आईडी
  • MAX(Id) - लेक्सिकोग्राफिक रूप से अधिकतम (स्ट्रिंग तुलना)

चेतावनी: VARCHAR पर MAX() लेक्सिकोग्राफिक तुलना करता है। संख्यात्मक तुलना के लिए, पहले CAST करें या संख्यात्मक भाग निकालें।

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट

  1. - MySQL में किसी कॉलम में अधिकतम मान खोजना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा। लेकिन, पहले, हम MySQL में डेटाबेस और टेबल के बारे में समझेंगे। MySQL इंस्टॉल करने से पहले, यह निर्धारित करना महत्वपूर्ण है कि किस संस्करण और किस डिस्ट्रीब्यूशन फॉर्मेट (यह बाइनरी फाइल या सोर्स फाइलों से हो सकता है) का उपयोग

  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; +-------