MySQL में कस्टम डेट कॉलम (दिन, महीना, वर्ष अलग-अलग कॉलम में) से न्यूनतम डेट खोजने के लिए:
टेबल बनाएं
mysql> CREATE TABLE FindMinimumDate (
-> Id INT NOT NULL AUTO_INCREMENT,
-> yourDay VARCHAR(2),
-> yourMonth VARCHAR(2),
-> yourYear VARCHAR(4),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.57 sec)
रिकॉर्ड डालें
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('21', '11', '2019');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('20', '10', '2020');
Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('03', '08', '2014');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('04', '09', '2017');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('05', '07', '2013');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO FindMinimumDate(yourDay, yourMonth, yourYear) VALUES('25', '12', '2016');
Query OK, 1 row affected (0.08 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM FindMinimumDate;
आउटपुट
+----+---------+-----------+----------+ | Id | yourDay | yourMonth | yourYear | +----+---------+-----------+----------+ | 1 | 21 | 11 | 2019 | | 2 | 20 | 10 | 2020 | | 3 | 03 | 08 | 2014 | | 4 | 04 | 09 | 2017 | | 5 | 05 | 07 | 2013 | | 6 | 25 | 12 | 2016 | +----+---------+-----------+----------+ 6 rows in set (0.00 sec)
न्यूनतम डेट खोजने की क्वेरी
CONCAT() से डेट स्ट्रिंग बनाएं, फिर MIN() से न्यूनतम खोजें:
mysql> SELECT MIN(CONCAT(yourYear, '-', yourMonth, '-', yourDay)) AS MinimumDate
-> FROM FindMinimumDate;
आउटपुट
+-------------+ | MinimumDate | +-------------+ | 2013-07-05 | +-------------+ 1 row in set (0.00 sec)
सबसे पुरानी डेट 2013-07-05 है (5 जुलाई 2013)। CONCAT वर्ष-महीना-दिन के क्रम में जोड़ता है जिससे लेक्सिकोग्राफिक तुलना सही काम करती है।