0

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

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

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

我知道我必须使用 acreated between但我无法解决它。从选择框中选择作为上限的日期。所以,我事先并不知道。请帮我

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

4

3 回答 3

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
于 2013-11-13T11:14:08.450 回答
0

要获取倒数第二个条目,请使用limit函数的偏移量

select * 
from test_table 
order by created desc
limit 1,1
于 2013-11-13T11:10:31.423 回答
0

尝试这个

select * 
from test_table order by created desc
limit 1
于 2013-11-13T11:11:03.577 回答