MySQL-এ একটি টেবিলের সর্বশেষ এন্ট্রি বের করার দুটি সাধারণ পদ্ধতি রয়েছে: ORDER BY ... DESC LIMIT 1 এবং MAX() ফাংশন।
পদ্ধতি ১: ORDER BY DESC LIMIT 1
SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;
পদ্ধতি ২: MAX() ব্যবহার
SET @anyVariableName = (SELECT MAX(yourColumnName) FROM yourTableName); SELECT * FROM yourTableName WHERE yourColumnName = @anyVariableName;
উদাহরণ
টেবিল তৈরি করি:
mysql> create table lastEntryDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(30),
-> Age int,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.71 sec)
রেকর্ড যোগ করি:
mysql> insert into lastEntryDemo(Name,Age) values('Larry',24);
mysql> insert into lastEntryDemo(Name,Age) values('John',21);
mysql> insert into lastEntryDemo(Name,Age) values('David',22);
mysql> insert into lastEntryDemo(Name,Age) values('Bob',25);
mysql> insert into lastEntryDemo(Name,Age) values('Carol',29);
mysql> insert into lastEntryDemo(Name,Age) values('Mike',23);
mysql> insert into lastEntryDemo(Name,Age) values('Sam',20);
সকল রেকর্ড
mysql> select *from lastEntryDemo;
আউটপুট
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Larry | 24 | | 2 | John | 21 | | 3 | David | 22 | | 4 | Bob | 25 | | 5 | Carol | 29 | | 6 | Mike | 23 | | 7 | Sam | 20 | +----+-------+------+
পদ্ধতি ১: Name কলামে DESC LIMIT 1
mysql> SELECT * FROM lastEntryDemo ORDER BY Name DESC LIMIT 1;
ফলাফল
+----+------+------+ | Id | Name | Age | +----+------+------+ | 7 | Sam | 20 | +----+------+------+
পদ্ধতি ২: MAX(Id) ব্যবহার
mysql> SET @MaxId = (SELECT MAX(Id) FROM lastEntryDemo); mysql> SELECT * FROM lastEntryDemo WHERE Id = @MaxId;
ফলাফল
+----+------+------+ | Id | Name | Age | +----+------+------+ | 7 | Sam | 20 | +----+------+------+
সুপারিশ: অটো_ইনক্রিমেন্ট ID কলাম থাকলেMAX(Id)বাORDER BY Id DESC LIMIT 1সবচেয়ে দ্রুত এবং নির্ভরযোগ্য।