我有如下表格。
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
请帮助我如何获得它。
最佳答案
因为最初的问题被标记为 sql-server mysql postgresql我提供了 3 个版本的解决方案
SQL Server 版本
您可以使用 Convert(date, getdate())
获取今天的日期(没有时间),通过一个简单的查询您就可以得到您正在寻找的内容
SELECT TOP 1 *
From MyTable
Where [date] < Convert(date, getdate())
ORDER BY [date] desc
PostgreSQL 版本
SELECT *
From MyTable
Where date < current_date
ORDER BY date desc
limit 1
MySQL版本
SELECT *
From MyTable
Where date < current_date
ORDER BY date desc
limit 1
关于sql - 选择一个小于今天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762819/