MySQL-এ সর্বোচ্চ মান এবং রো বের করার জন্য ORDER BY ... DESC এবং LIMIT ক্লজ ব্যবহার করা হয়। এটি র্যাঙ্কিং, লিডারবোর্ড, টপ-এন কুয়েরির জন্য স্ট্যান্ডার্ড পদ্ধতি।
টেবিল এবং ডেটা
CREATE TABLE DemoTable1614 (
StudentName VARCHAR(20),
StudentScore INT
);
INSERT INTO DemoTable1614 VALUES('Adam',65);
INSERT INTO DemoTable1614 VALUES('Chris',89);
INSERT INTO DemoTable1614 VALUES('Bob',58);
INSERT INTO DemoTable1614 VALUES('Sam',98);
INSERT INTO DemoTable1614 VALUES('Mike',87);
INSERT INTO DemoTable1614 VALUES('Carol',79);
কুয়েরি: টপ ৩ স্কোর
SELECT * FROM DemoTable1614
ORDER BY StudentScore DESC
LIMIT 3;
ফলাফল
+-------------+--------------+
| StudentName | StudentScore |
+-------------+--------------+
| Sam | 98 |
| Chris | 89 |
| Mike | 87 |
+-------------+--------------+
বিকল্প ক্লজ
LIMIT 3 OFFSET 0— প্রথম ৩টি (ডিফল্ট)LIMIT 3 OFFSET 3— ৪র্থ থেকে ৬ষ্ঠ (পেজিনেশন)LIMIT 10, 3— শর্টহ্যান্ড (অফসেট ১০, কাউন্ট ৩)
টাই হ্যান্ডলিং (RANK / DENSE_RANK - MySQL 8.0+)
SELECT StudentName, StudentScore,
RANK() OVER (ORDER BY StudentScore DESC) AS rnk
FROM DemoTable1614;
টাই থাকলে RANK গ্যাপ রেখে, DENSE_RANK গ্যাপ ছাড়া র্যাঙ্ক দেয়।