পদ্ধতি
গ্রুপভিত্তিক সর্বোচ্চ স্কোর বের করে ডিসেন্ডিং অর্ডারে সর্ট করে LIMIT 2 ব্যবহার করা।
সারণি ও ডেটা
mysql> create table DemoTable1383 (Id int, PlayerScore int); mysql> insert into DemoTable1383 values(200,78),(200,89),(200,89),(200,87),(203,97),(200,57);
কোয়েরি
mysql> select Id, max(PlayerScore) from DemoTable1383 group by Id order by max(PlayerScore) DESC;
ফলাফল
+------+------------------+ | Id | max(PlayerScore) | +------+------------------+ | 203 | 97 | | 200 | 89 | +------+------------------+
ব্যাখ্যা
GROUP BY Id— প্রতিটি আইডির জন্য গ্রুপMAX(PlayerScore)— প্রতিটি গ্রুপের সর্বোচ্চ স্কোরORDER BY ... DESC— উন্নতম থেকে নিম্নমুখী- টপ ২ পেতে
LIMIT 2যোগ করুন
দ্রষ্টব্য: যদি একই আইডির একাধিক টপ স্কোর থাকে, তবে উইন্ডো ফাংশন ROW_NUMBER() বা RANK() ব্যবহার করুন।