Computer >> Máy Tính >  >> Lập trình >> MySQL

Nhận mục nhập cuối cùng trong bảng MySQL?

Bạn có thể lấy mục nhập cuối cùng trong bảng MySQL bằng cách sử dụng ORDER BY. Cách tiếp cận đầu tiên như sau:

Trường hợp 1 :Sử dụng DESC LIMIT

SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;

Cách tiếp cận thứ hai như sau:

Trường hợp 2 :Sử dụng MAX ()

SET @anyVariableName = (SELECT MAX(yourColumnName) FROM yourTableName);
SELECT *FROM yourtableName WHERE yourColumnName = @anyVariableName;

Bây giờ để hiểu cả hai cách tiếp cận, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

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)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:

mysql> insert into lastEntryDemo(Name,Age) values('Larry',24);
Query OK, 1 row affected (0.14 sec)

mysql> insert into lastEntryDemo(Name,Age) values('John',21);
Query OK, 1 row affected (0.19 sec)

mysql> insert into lastEntryDemo(Name,Age) values('David',22);
Query OK, 1 row affected (0.18 sec)

mysql> insert into lastEntryDemo(Name,Age) values('Bob',25);
Query OK, 1 row affected (0.20 sec)

mysql> insert into lastEntryDemo(Name,Age) values('Carol',29);
Query OK, 1 row affected (0.17 sec)

mysql> insert into lastEntryDemo(Name,Age) values('Mike',23);
Query OK, 1 row affected (0.14 sec)

mysql> insert into lastEntryDemo(Name,Age) values('Sam',20);
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:

mysql> select *from lastEntryDemo;

Sau đây là kết quả:

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  1 | Larry |   24 |
|  2 | John  |   21 |
|  3 | David |   22 |
|  4 | Bob   |   25 |
|  5 | Carol |   29 |
|  6 | Mike  |   23 |
|  7 | Sam   |   20 |
+----+-------+------+
7 rows in set (0.00 sec)

Đây là truy vấn để nhận mục nhập cuối cùng bằng cách sử dụng ORDER BY.

Trường hợp 1 :GIỚI HẠN MÔ TẢ

Truy vấn như sau:

mysql> select *from lastEntryDemo order by Name desc limit 1;

Sau đây là kết quả:

+----+------+------+
| Id | Name | Age  |
+----+------+------+
| 7  | Sam  | 20   |
+----+------+------+
1 row in set (0.00 sec)

Trường hợp 2 :Sử dụng MAX ()

Truy vấn như sau:

mysql> set @MaxId = (select max(Id) from lastEntryDemo);
Query OK, 0 rows affected (0.00 sec)

mysql> select *from lastEntryDemo where Id = @MaxId;

Sau đây là kết quả:

+----+------+------+
| Id | Name | Age  |
+----+------+------+
| 7  | Sam  | 20   |
+----+------+------+
1 row in set (0.00 sec)