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

MySQL-এ RANK() ফাংশন ব্যবহার করা

Window Function: RANK() OVER (ORDER BY ...)

MySQL 8.0+ এ RANK() উইন্ডো ফাংশন দিয়ে প্রতিটি সারির র‍্যাঙ্ক বের করা যায়। সমান মানের জন্য একই র‍্যাঙ্ক, পরবর্তী র‍্যাঙ্ক স্কিপ হয়।

নমুনা টেবিল ও ডেটা

mysql> CREATE TABLE RankDemo (id INT);
mysql> INSERT INTO RankDemo VALUES (1), (3), (3), (4), (5);
mysql> SELECT * FROM RankDemo;
+------+
| id   |
+------+
| 1    |
| 3    |
| 3    |
| 4    |
| 5    |
+------+

RANK() কোয়েরি

mysql> SELECT id, RANK() OVER (ORDER BY id) AS Ranking FROM RankDemo;
+------+---------+
| id   | Ranking |
+------+---------+
| 1    | 1       |
| 3    | 2       |
| 3    | 2       |
| 4    | 4       |
| 5    | 5       |
+------+---------+

ব্যাখ্যা: id=3 দুবার এসেছে → উভয়ে র‍্যাঙ্ক ২। পরবর্তী id=4 র‍্যাঙ্ক ৪ (৩ স্কিপ)। DENSE_RANK() ব্যবহার করলে স্কিপ হয় না (১,২,২,৩,৪)।

  1. MySQL BIT_LENGTH() ফাংশন কি মাল্টি-বাইট সেফ?

  2. MySQL FIELD() ফাংশন: কাস্টম অর্ডারিংয়ের জন্য ব্যবহার

  3. MySQL-এ সাধারণ ফাংশন (FUNCTION) তৈরি করার পদ্ধতি

  4. MySQL SELECT স্টেটমেন্টে IF() ফাংশন ব্যবহার