在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日。那么有人可以告诉我如何从表格中获取最早的日期
答案 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列表。
大型集合需要考虑一些性能问题;拥有适当的索引可以提高您可能使用的某些可能查询的性能。