如何在mysql数据库表中获取第一个和最后一个日期

时间:2012-01-11 06:23:02

标签: php mysql database

为了创建过滤器下拉列表,我需要找出mysql表中的第一个和最后一个日期。我指的是一个有日期的字段。

我的第一个想法是运行一个查询来拉取所有记录,然后在php中做一些逻辑来查找第一个和最后一个日期。

任何更好的建议......一旦有庞大的数据集,我的解决方案似乎效率非常低。

6 个答案:

答案 0 :(得分:9)

最小的日期:

select date_field from table order by date_field asc limit 1;

最大日期:

select date_field from table order by date_field desc limit 1;

这两种:

select min(date_field),max(date_field) from table;

答案 1 :(得分:4)

永远不要拉所有记录!使用SQL:

SELECT your_time_column FROM your_table ORDER BY your_time_column ASC LIMIT 1

SELECT your_time_column FROM your_table ORDER BY your_time_column DESC LIMIT 1

SELECT MAX(your_time_column), MIN(your_time_column) FROM your_table

答案 2 :(得分:2)

这个怎么样?

SELECT MAX(`date`), MIN(`date`)
FROM your_table;

date上的索引会有所帮助。

答案 3 :(得分:2)

使用 mysql min()max()选择第一个和最后一个日期

select min(date),max(date) from table;

答案 4 :(得分:1)

实际上,如果您在php中按日期SELECT * FROM table_name ORDER BY date订购查询,您可以轻松获取第一个和最后一个日期:

首先:$first_date = reset($result);
最后:$last_date = end($result);

答案 5 :(得分:1)

您可以进行2次查询(1表示第一次约会,1表示最后一次约会)并将它们联合起来。

(SELECT the_date FROM table ORDER BY the_date ACS  LIMIT 1)
UNION
(SELECT the_date FROM table ORDER BY the_date DESC LIMIT 1)