MySQL 如何从具有日期值的记录中查找最后日期
要获取最后日期,即最新日期,请使用带有子查询的聚合函数MAX()。让我们首先创建一个表−
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ExpiryDate date
);
Query OK, 0 rows affected (1.40 sec)
使用插入命令在表中插入一些记录−
mysql> insert into DemoTable(ExpiryDate) values('2018-12-31');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(ExpiryDate) values('2019-09-01');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(ExpiryDate) values('2019-09-01');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable(ExpiryDate) values('2016-08-30');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(ExpiryDate) values('2019-06-23');
Query OK, 1 row affected (0.17 sec)
使用select语句从表中显示所有记录−
mysql> select *from DemoTable;
这将产生以下输出−
+----+------------+
| Id | ExpiryDate |
+----+------------+
| 1 | 2018-12-31 |
| 2 | 2019-09-01 |
| 3 | 2019-09-01 |
| 4 | 2016-08-30 |
| 5 | 2019-06-23 |
+----+------------+
5 rows in set (0.00 sec)
以下是查找带有最后日期的记录的查询−
mysql> select *from DemoTable
where ExpiryDate=(select max(ExpiryDate) from DemoTable);
这将产生以下输出。从插入的记录中,最后日期是2019-09-01。可以在下面的输出中看到相同的结果−
+----+------------+
| Id | ExpiryDate |
+----+------------+
| 2 | 2019-09-01 |
| 3 | 2019-09-01 |
+----+------------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程