তারিখ গণনা করার সময় যদি আমরা 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)