कॉलम से एकल तिथि प्राप्त करने के लिए LIMIT 1 का उपयोग करें। इसे क्रमबद्ध करने के लिए ORDER BY क्लॉज़ का उपयोग करें।
टेबल बनाएं
mysql> create table DemoTable (
-> DueDate varchar(100)
-> );
Query OK, 0 rows affected (1.16 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values('10-06-2019');
Query OK, 1 row affected (0.42 sec)
mysql> insert into DemoTable values('01-12-2016');
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable values('31-01-2018');
Query OK, 1 row affected (0.58 sec)
सभी रिकॉर्ड्स देखें
mysql> select * from DemoTable;
+------------+ | DueDate | +------------+ | 10-06-2019 | | 01-12-2016 | | 31-01-2018 | +------------+ 3 rows in set (0.00 sec)
MySQL LIMIT के साथ कॉलम से एकल क्रमबद्ध तिथि प्राप्त करने का क्वेरी
mysql> SELECT * FROM DemoTable ORDER BY STR_TO_DATE(DueDate, '%d-%m-%Y') LIMIT 1;
आउटपुट:
+------------+ | DueDate | +------------+ | 01-12-2016 | +------------+ 1 row in set (0.00 sec)
व्याख्या:
STR_TO_DATE(DueDate, '%d-%m-%Y')- स्ट्रिंग को तिथि में बदलें सही सॉर्टिंग के लिएORDER BY ...- परिवर्तित तिथि के अनुसार क्रमबद्धLIMIT 1- केवल पहली पंक्ति (सबसे पुरानी तिथि)- सबसे नई तिथि के लिए:
ORDER BY ... DESC LIMIT 1
सुझाव: तिथियों को VARCHAR के बजाय DATE/DATETIME कॉलम में संग्रहीत करें।