如何从MySQL中具有日期值的记录中查找最后日期?
要获取最后日期,即最新日期,请MAX()
对子查询使用聚合函数。让我们首先创建一个表-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ExpiryDate date );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(ExpiryDate) values('2018-12-31'); mysql> insert into DemoTable(ExpiryDate) values('2019-09-01'); mysql> insert into DemoTable(ExpiryDate) values('2019-09-01'); mysql> insert into DemoTable(ExpiryDate) values('2016-08-30'); mysql> insert into DemoTable(ExpiryDate) values('2019-06-23');
使用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-0。在下面的输出中可以看到相同的结果-
+----+------------+ | Id | ExpiryDate | +----+------------+ | 2 | 2019-09-01 | | 3 | 2019-09-01 | +----+------------+ 2 rows in set (0.00 sec)