Sql 选择一个小于今天的日期

Sql 选择一个小于今天的日期,sql,postgresql,sql-server,mysql,Sql,Postgresql,Sql Server,Mysql,我有一张像下面这样的桌子 id date value 12 2017-12-11 250 13 2017-12-11 256 14 2017-11-10 300 15 2017-11-09 400 我需要写一个查询,在那里我可以得到今天的前一个日期。 如果今天是2017年12月11日,查询应该只返回 id date value 14 2017-11-10 300 请帮助我如何获取此信息。从表t中选择*

我有一张像下面这样的桌子

id  date            value
12  2017-12-11      250
13  2017-12-11      256
14  2017-11-10      300
15  2017-11-09      400
我需要写一个查询,在那里我可以得到今天的前一个日期。 如果今天是2017年12月11日,查询应该只返回

id  date        value
14  2017-11-10  300
请帮助我如何获取此信息。

从表t中选择*其中t.date\u值select * from yourtable t where t.date_value < getdate()
因为最初的问题带有标签,所以我提供了3个版本的解决方案

SQL Server版本

SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
您可以使用
Convert(date,getdate())
获取今天的日期(没有时间),只需一个简单的查询,您就可以获得所需的内容

SELECT TOP 1 *
From MyTable 
Where [date] < Convert(date, getdate()) 
ORDER BY [date] desc
选择前1名*
从MyTable
其中[date]

PostgreSQL版本

SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
选择*
从MyTable
其中日期<当前日期
按日期说明订购
限制1

MySQL版本

SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1
选择*
从MyTable
其中日期<当前日期
按日期说明订购
限制1

您使用的是什么数据库系统?@Squirrel从用户档案中可以看出,他所有的问题都是关于postgresql@KushalLNU您必须选择一种技术(sql server、mysql或postgresql),只需删除不需要的标记即可。此外,访问以获取“知情”徽章并了解更多信息也很好site@Squirrel我正在使用PostgreSQL。我需要返回第二个最大日期。并非所有的日期都是之前的。