2011-10-12 66 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