Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีใช้ ORDER BY clause ขณะคำนวณวันที่

จะสะดวกกว่าในการค้นหาระเบียน หากเราใช้ ORDER BY clause ขณะคำนวณวันที่ เพื่อเข้าใจ เรามีข้อมูลจากตาราง '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)

การค้นหาของเราสามารถสะดวกกว่าได้ หากเราใช้ ORDER BY clause ดังนี้ขณะคำนวณจำนวนปีที่วิทยาลัยเก่า

mysql> Select ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)

ชุดผลลัพธ์ข้างต้นแสดงว่าเราสามารถค้นหาวิทยาลัยเก่าที่สุดได้ง่ายมากด้วยการใช้ ORDER BY clause กับ 'YEARS_OLD' เราสามารถใช้คีย์เวิร์ด DESC กับ ORDER BY clause ซึ่งคืนค่าวิทยาลัยเก่าที่สุดในแถวบนสุด ดังนี้

mysql> Select ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)