यदि हम डेटा गणना करते समय ORDER BY क्लॉज का उपयोग करते हैं तो रिकॉर्ड ढूंढना अधिक सुविधाजनक होगा। इसे समझने के लिए, हमारे पास 'Collegedetail' टेबल से निम्नलिखित डेटा है:
mysql> SELECT * FROM Collegedetail;
+------+---------+------------+
| ID | Country | Estb |
+------+---------+------------+
| 111 | INDIA | 2010-05-01 |
| 130 | INDIA | 1995-10-25 |
| 139 | USA | 1994-09-25 |
| 1539 | UK | 2001-07-23 |
| 1545 | Russia | 2010-07-30 |
+------+---------+------------+
5 rows in set (0.00 sec)
अब, मान लीजिए यदि हम यह गणना करना चाहते हैं कि एक कॉलेज कितने वर्ष पुराना है तो यह निम्नानुसार किया जा सकता है:
mysql> SELECT ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' FROM collegedetail;
+------+------------+------------+-----------+
| ID | estb | CURDATE() | YEARS_OLD |
+------+------------+------------+-----------+
| 111 | 2010-05-01 | 2017-11-30 | 7 |
| 130 | 1995-10-25 | 2017-11-30 | 22 |
| 139 | 1994-09-25 | 2017-11-30 | 23 |
| 1539 | 2001-07-23 | 2017-11-30 | 16 |
| 1545 | 2010-07-30 | 2017-11-30 | 7 |
+------+------------+------------+-----------+
5 rows in set (0.00 sec)
यदि हम डेटा गणना करते समय ORDER BY क्लॉज का उपयोग करते हैं तो हमारी खोज अधिक सुविधाजनक हो सकती है:
mysql> SELECT ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' FROM collegedetail ORDER BY YEARS_OLD;
+------+------------+------------+-----------+
| ID | estb | CURDATE() | YEARS_OLD |
+------+------------+------------+-----------+
| 111 | 2010-05-01 | 2017-11-30 | 7 |
| 1545 | 2010-07-30 | 2017-11-30 | 7 |
| 1539 | 2001-07-23 | 2017-11-30 | 16 |
| 130 | 1995-10-25 | 2017-11-30 | 22 |
| 139 | 1994-09-25 | 2017-11-30 | 23 |
+------+------------+------------+-----------+
5 rows in set (0.01 sec)
उपरोक्त रिजल्ट सेट दिखाता है कि हम 'YEARS_OLD' के साथ ORDER BY क्लॉज का उपयोग करके सबसे पुराने कॉलेज को बहुत आसानी से खोज सकते हैं। हम ORDER BY क्लॉज के साथ DESC कीवर्ड भी उपयोग कर सकते हैं जो सबसे पुराने कॉलेज को शीर्ष पंक्ति में लौटाता है:
mysql> SELECT ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' FROM collegedetail ORDER BY YEARS_OLD DESC;
+------+------------+------------+-----------+
| ID | estb | CURDATE() | YEARS_OLD |
+------+------------+------------+-----------+
| 139 | 1994-09-25 | 2017-11-30 | 23 |
| 130 | 1995-10-25 | 2017-11-30 | 22 |
| 1539 | 2001-07-23 | 2017-11-30 | 16 |
| 111 | 2010-05-01 | 2017-11-30 | 7 |
| 1545 | 2010-07-30 | 2017-11-30 | 7 |
+------+------------+------------+-----------+
5 rows in set (0.00 sec)
नोट: ORDER BY एलियास (YEARS_OLD) का उपयोग कर सकता है। गणना: वर्ष अंतर घटा 1 यदि वर्षगांठ अभी नहीं हुई है (महीना-दिन तुलना द्वारा)।