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。我需要返回第二个最大日期。并非所有的日期都是之前的。