কম্পিউটার

তারিখ গণনা করার সময় আমরা কিভাবে 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. কিভাবে আমরা FROM ক্লজ ছাড়া MySQL SELECT ব্যবহার করতে পারি?

  2. আমরা কিভাবে ORDER BY ক্লজ দিয়ে MySQL ভিউ তৈরি করতে পারি?

  3. মাইএসকিউএল-এ ক্লজ দ্বারা ইউনিয়ন এবং অর্ডার কীভাবে ব্যবহার করবেন?

  4. আইএন ক্লজের ক্রম অনুসারে মাইএসকিউএল সারিগুলি কীভাবে নির্বাচন করবেন?