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

MySQL-এ top 2 সর্বোচ্চ স্কোর বের করা

পদ্ধতি

গ্রুপভিত্তিক সর্বোচ্চ স্কোর বের করে ডিসেন্ডিং অর্ডারে সর্ট করে 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() ব্যবহার করুন।

  1. MySQL-এ UNION এবং MAX()/MIN() ব্যবহার করে দুটি টেবিল থেকে সর্বোচ্চ ও ন্যূনতম মান বের করা

  2. MySQL-এ দুটি ডেটাটাইম মানের পার্থক্য বের করা

  3. MySQL-এ GREATEST() এবং LEAST() ব্যবহার করে দুটি কলামের জোড়ার আবার্তন গণনা

  4. MySQL에서 중복 튜플 찾기와 개수 세기 (GROUP BY HAVING)