在計算日期時,我們如何使用 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)
以上結果集表明,我們可以透過將 ORER BY 子句與“YEARS_OLD”結合使用,非常方便地搜尋最古老的大學。我們還可以將 DESC 關鍵字與 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_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)
廣告