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

Roe*_*and 2 php mysql database

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

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

任何更好的建议..我的解决方案似乎一旦有一个巨大的数据集将是非常低效.

Gau*_*pta 9

最小的日期:

select date_field from table order by date_field asc limit 1;
Run Code Online (Sandbox Code Playgroud)

最大日期:

select date_field from table order by date_field desc limit 1;
Run Code Online (Sandbox Code Playgroud)

都:

select min(date_field),max(date_field) from table;
Run Code Online (Sandbox Code Playgroud)


Rom*_*aza 5

永远不要拉出所有记录!使用 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