mysql显示表中最早的日期

时间:2014-09-12 01:51:28

标签: php mysql date

在mysql中我有这样的表

id  name end_date
1   test1  2014-09-20
2   test1  2014-09-23
3   test1  2014-09-28
4   test1  2014-09-21

这里我想获得end_date最早的日期。在此表中,您可以看到我拥有最早的日期 2014年9月28日。那么有人可以告诉我如何从表格中获取最早的日期

2 个答案:

答案 0 :(得分:2)

2014-09-21是表格中的最新日期。使用MAX聚合:

SELECT MAX(end_date)
FROM tblName

答案 1 :(得分:2)

如果你想要最老的"来自表中列的日期值,如果它是DATE数据类型,或者VARCHAR是以规范格式存储的CHAR,则有几种方法。一种是使用MIN()聚合函数:

SELECT MIN(t.end_date) AS oldest_end_date FROM mytable t ;

要获取最新日期,您可以使用相应的MAX()聚合函数:

SELECT MIN(t.end_date) AS newest_end_date FROM mytable t ;

另一种方法是使用ORDER BY子句,以end_date的升序或降序,使用LIMIT子句来限制返回的行数

SELECT t.end_date FROM mytable t ORDER BY t.end_date ASC LIMIT 1 ;
SELECT t.end_date FROM mytable t ORDER BY t.end_date DESC LIMIT 1 ;

如果您想要返回的不仅仅是最早的" end_date"如果你需要包含" end_date"的行的其他列,你可以修改上面的ORDER BY LIMIT查询的SELECT列表。

大型集合需要考虑一些性能问题;拥有适当的索引可以提高您可能使用的某些可能查询的性能。