इसके लिए ORDER BY क्लॉज का इस्तेमाल करें। वर्तमान तिथि इस प्रकार है -
mysql> अभी चुनें ();+---------------------+| अब () |+---------------------+| 2019-06-09 21:08:16 |+---------------------+1 पंक्ति में सेट (0.00 सेकंड)
आइए पहले एक टेबल बनाएं -
mysql> टेबल बनाएं DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ड्यूडेट डेटटाइम -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.62 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल (ड्यूडेट) मानों ('2019-06-12') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड) mysql> डेमोटेबल (ड्यूडेट) मानों में डालें ('2019-06-01');क्वेरी ओके, 1 पंक्ति प्रभावित (0.37 सेकंड)mysql> डेमोटेबल (ड्यूडेट) मान ('2019-06-05') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> डेमोटेबल (ड्यूडेट) मानों में डालें ( '2019-06-10');क्वेरी ओके, 1 पंक्ति प्रभावित (0.13 सेकंड)mysql> डेमोटेबल (ड्यूडेट) मानों ('2019-06-11') में डालें; क्वेरी ठीक, 1 पंक्ति प्रभावित (0.66 सेकंड)पूर्व>चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;आउटपुट
<पूर्व>+----+---------------------+| आईडी | नियत तारीख |+----+---------------------+| 1 | 2019-06-12 00:00:00 || 2 | 2019-06-01 00:00:00 || 3 | 2019-06-05 00:00:00 || 4 | 2019-06-10 00:00:00 || 5 | 2019-06-11 00:00:00 |+----+---------------------+5 पंक्तियों में सेट (0.00 सेकंड)
अंतर प्राप्त करने और तिथियों को ऑर्डर करने के लिए ऑर्डर करने की क्वेरी यहां दी गई है। तिथियों के बीच का अंतर एक अलग कॉलम में प्रदर्शित किया जाता है -
mysql> DemoTable से आईडी, ड्यूडेट, डेटिडिफ (ड्यूडेट, करडेट ()) AS t चुनें -> केस के अनुसार ऑर्डर करें जब <0 फिर 1 ELSE 0 END, t;
आउटपुट
+-----+---------------------+------+| आईडी | नियत तारीख | टी |+----+---------------+------+| 4 | 2019-06-10 00:00:00 | 1 || 5 | 2019-06-11 00:00:00 | 2 || 1 | 2019-06-12 00:00:00 | 3 || 2 | 2019-06-01 00:00:00 | -8 || 3 | 2019-06-05 00:00:00 | -4 |+----+--------------------------+------+5 पंक्तियाँ सेट में (0.00 सेकंड)