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

दिनांक की गणना करते समय हम ORDER BY खंड का उपयोग कैसे कर सकते हैं?


यदि हम दिनांक की गणना करते समय ORDER BY क्लॉज का उपयोग करेंगे तो रिकॉर्ड ढूंढना अधिक सुविधाजनक होगा। इसे समझने के लिए, हमारे पास तालिका 'कॉलेज डीटेल' से डेटा इस प्रकार है -

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' के साथ ORER 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_O
LD 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)

  1. हम ORDER BY क्लॉज के साथ MySQL व्यू कैसे बना सकते हैं?

    हम अपने परिणाम सेट में रिकॉर्ड्स को सॉर्ट करने के लिए MySQL ORDER BY क्लॉज का उपयोग कर सकते हैं। . विचारों के साथ ग्रुप बाय क्लॉज को समझने के लिए हम निम्नलिखित डेटा वाले आधार तालिका Student_info का उपयोग करके जानकारी नाम का एक दृश्य बना रहे हैं - mysql> Select * from Student_info; +------+-------

  1. MySQL में क्लॉज द्वारा यूनियन और ऑर्डर का उपयोग कैसे करें?

    यूनियन MySQL में एक प्रकार का ऑपरेटर है। हम रिकॉर्ड्स को फ़िल्टर करने के लिए इसके साथ ORDER BY का उपयोग कर सकते हैं। यदि आप एक ही परिणाम सेट के रूप में कई तालिकाओं या पंक्तियों के कई सेटों से एक के बाद एक पंक्तियों का चयन करना चाहते हैं, तो UNION का उपयोग करें। आइए एक उदाहरण देखें। पहली तालिका बना

  1. IN खंड के क्रम में MySQL पंक्तियों का चयन कैसे करें?

    आपको IN खंड के क्रम में MySQL पंक्तियों का चयन करने के लिए FIND_IN_SET () फ़ंक्शन का उपयोग करने की आवश्यकता है। वाक्य रचना इस प्रकार है - अपना वैरिएबलनाम चुनें।*अपनेटेबलनाम से अपना वैरिएबलनामजहां आपका वैरिएबलनाम.आपका कॉलमनाम IN(value1,value2,...N)FIND_IN_SET (yourVariableName.yourColumnName,value1,v