2011-10-12 64 views
0

我有四个日期用不同的价格对于每一日期:获取最近的/最低的日期SQL

10/01/2011 $25 
10/08/2011 $50 
11/17/2011 $100 
12/23/2011 $150 

SQL:

SELECT price FROM MyTable WHERE MyDate <= '10/12/2011' 

问题:该查询返回结果为$ 25和$ 50我需要它给我只有最近的日期...
我怎么能它只返回$ 50?

+0

什么SQL方言(微软SQL,Oracle,MySQL等)的答案下面是微软SQL可能是你正在寻找的东西。 – Sparky

回答

2
SELECT top 1 price FROM MyTable WHERE MyDate <= '10/12/2011' order by MyDate desc 
1

试试这个(在SQL Server)

SELECT TOP 1 price 
FROM MyTable 
WHERE myDate <= getDate() 
ORDER BY myDate DESC 

试试这个(在MySQL的)

SELECT price 
FROM MyTable 
WHERE myDate <= now() 
ORDER BY myDate DESC 
LIMIT 1