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

डेटा गणना करते समय ORDER BY क्लॉज का उपयोग कैसे करें?


यदि हम डेटा गणना करते समय 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 यदि वर्षगांठ अभी नहीं हुई है (महीना-दिन तुलना द्वारा)।

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

    हम MySQL ORDER BY क्लॉज का उपयोग अपने परिणाम सेट में रिकॉर्ड को क्रमबद्ध करने के लिए कर सकते हैं। GROUP BY क्लॉज को व्यू के साथ समझने के लिए हम Info नामक एक व्यू बना रहे हैं जो आधार तालिका Student_info का उपयोग करता है जिसमें निम्न डेटा है: Select * from Student_info; +------+---------+------------

  1. - MySQL में UNION और ORDER BY क्लॉज का उपयोग कैसे करें

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

  1. - MySQL में IN क्लॉज के क्रम में पंक्तियाँ कैसे चुनें?

    MySQL में FIND_IN_SET() का उपयोग करके IN क्लॉज के क्रम में परिणाम प्राप्त करना डिफ़ॉल्ट रूप से IN() क्लॉज परिणामों को सॉर्ट कर देता है। मूल क्रम बनाए रखने के लिए FIND_IN_SET() का उपयोग करें। सिंटैक्स SELECT yourAlias.* FROM yourTableName yourAlias WHERE yourAlias.yourColumnName IN (value1, value2,