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

MySQL-এ DISTINCT এবং ORDER BY MAX() দিয়ে আইডি অনুযায়ী সাজানো

এই কাজের জন্য ORDER BY MAX() ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable 
-> ( 
-> Id int, 
-> Name varchar(100) 
-> ); Query OK, 0 rows affected (0.81 sec)

টেবিলে কিছু রেকর্ড ইনসার্ট করুন (ডুপ্লিকেট আইডি ও নাম সহ):

mysql> insert into DemoTable values(10,'John'); Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable values(10,'John'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(20,'Sam'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(20,'Sam'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(30,'David'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(30,'David'); Query OK, 1 row affected (0.11 sec)

টেবিলের সকল রেকর্ড দেখান:

mysql> select *from DemoTable;

আউটপুট

এটি নিচের আউটপুট দেবে:

+------+-------+
| Id   | Name  |
+------+-------+
| 10   | John  |
| 10   | John  |
| 20   | Sam   |
| 20   | Sam   |
| 30   | David |
| 30   | David |
+------+-------+
6 rows in set (0.00 sec)

DISTINCT নাম বের করে সর্বোচ্চ আইডি অনুযায়ী ডিসেন্ডিং সাজানোর কোয়ারী (সীমা ২):

mysql> select Name from DemoTable 
-> group by Name 
-> order by max(Id) DESC 
-> limit 2;

আউটপুট

এটি নিচের আউটপুট দেবে (সর্বোচ্চ আইডি ৩০='David', ২০='Sam'):

+-------+
| Name  |
+-------+
| David |
| Sam   |
+-------+
2 rows in set (0.06 sec)
  1. MySQL-এ ORDER BY DESC LIMIT দিয়ে বটম N রেকর্ড বের করা

  2. MySQL-এ GROUP_CONCAT DISTINCT BY ID দিয়ে স্বতর্ক মান কমা-সেপারেটেড দেখানো

  3. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো

  4. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা