获取datetime的行,这是最新的日期时间小于mysql中的选定日期

时间:2013-11-13 11:09:55

标签: php mysql datetime

我必须得到的行的最新日期少于从选择框中选择的给定日期。

我已经想出了如何获取最新日期的行,如

select * from test_table where created in (select max(created) from test_table)

我知道我必须使用created between,但我无法解决它。从选择框中选择作为上限的日期。所以,我手头之前不知道。 请帮帮我

例如,让从文本框中选择的日期是2013年11月11日。我必须获得一个创建日期的行,该日期是表格中的最大日期少于2013年11月11日。 提前致谢

3 个答案:

答案 0 :(得分:1)

此查询将返回最新日期时间小于@givendate的行:

SELECT *
FROM   test_table
WHERE  created = (SELECT max(created)
                  FROM test_table
                  WHERE created < @givendate)

请注意,可能有多行具有相同的最新日期时间。或者你可以简单地使用它:

SELECT   *
FROM     test_table
WHERE    created < @givendate
ORDER BY created DESC
LIMIT 1

答案 1 :(得分:0)

要获得倒数第二个条目,请使用limit函数

的偏移量
select * 
from test_table 
order by created desc
limit 1,1

答案 2 :(得分:0)

试试这个

select * 
from test_table order by created desc
limit 1