কম্পিউটার টিউটোরিয়াল

তারিখ ক্যালকুলেট করার সময় 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) 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) 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)

উপরোক্ত ফলাফল দেখাচ্ছে যে ORDER BY ক্লজ 'YEARS_OLD'-সহ ব্যবহার করলে সবচেয়ে পুরনো কলেজ খুব সহজে খুঁজে পাওয়া যায়। DESC কীওয়ার্ডও ব্যবহার করা যায় যা সবচেয়ে পুরনো কলেজটি উপরের সারিতে দেখাবে:

mysql> SELECT ID, estb, CURDATE(), ((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5) 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)
  1. MySQL-এ FROM ক্লজ ছাড়া SELECT কীভাবে ব্যবহার করবেন?

  2. ORDER BY ক্লজ ব্যবহার করে MySQL ভিউ তৈরি করা

  3. MySQL-এ UNION এবং ORDER BY ক্লজ একসাথে ব্যবহার

  4. MySQL-এ IN ক্লজের ক্রম অনুযায়ী রো সিলেক্ট করা