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

MySQL में VARCHAR कॉलम से न्यूनतम और अधिकतम मान प्राप्त करके अलग कॉलम में प्रदर्शित करना

MySQL में CAST और MIN/MAX के साथ VARCHAR संख्याओं से न्यूनतम/अधिकतम निकालना

जब संख्याएं VARCHAR कॉलम में संग्रहीत होती हैं, तो CAST(... AS SIGNED) या CAST(... AS UNSIGNED) का उपयोग करके उन्हें संख्या में परिवर्तित करके MIN() और MAX() सही ढंग से काम करते हैं।

व्यावहारिक उदाहरण

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    Value VARCHAR(100)
);

स्ट्रिंग संख्याएं डालना

mysql> INSERT INTO DemoTable VALUES('190');
mysql> INSERT INTO DemoTable VALUES('230');
mysql> INSERT INTO DemoTable VALUES('120');
mysql> INSERT INTO DemoTable VALUES('189');

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------+
| Value |
+-------+
| 190   |
| 230   |
| 120   |
| 189   |
+-------+

न्यूनतम और अधिकतम अलग कॉलम में प्राप्त करने के लिए क्वेरी

mysql> SELECT 
MIN(CAST(Value AS SIGNED)) AS Min, 
MAX(CAST(Value AS SIGNED)) AS Max 
FROM DemoTable;

आउटपुट:

+------+------+
| Min  | Max  |
+------+------+
| 120  | 230  |
+------+------+

कास्टिंग के बिना समस्या


            
  1. - MySQL में GROUP BY का उपयोग करके डुप्लिकेट ID गिनना और परिणाम को अलग कॉलम में प्रदर्शित करना

    MySQL में GROUP BY के साथ डुप्लिकेट ID गिनना GROUP BY और एग्रीगेट फ़ंक्शन का उपयोग करके आप डुप्लिकेट ID की गिनती कर सकते हैं और परिणाम को एक अलग कॉलम में प्रदर्शित कर सकते हैं। उदाहरण: ग्राहक समीक्षा गिनती SELECT * FROM DemoTable1453; +------------+----------------------+ | CustomerId | CustomerRe

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

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO

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