我試圖創建一個查詢,以便爲表date
中的每個日期返回表price
中每個ID的每個id的最接近(上面)的價格。Oracle:有效地獲取每個ID的最近日期
date
它具有以下日期:
date
2010-11-25
2010-11-24
2010-11-10
price
如下:
id date price
A 2010-11-26 24.99
A 2010-11-24 27.99
A 2010-11-13 22.12
B 2010-11-26 26.51
B 2010-11-24 23.24
B 2010-11-22 27.95
所以對於2010-11-25
我應該得到
id date price
A 2010-11-26 24.99
B 2010-11-26 26.51
爲2010-11-10
id date price
A 2010-11-13 22.12
B 2010-11-22 27.95
爲2010-11-24
id date price
A 2010-11-24 27.99
B 2010-11-24 23.24
等
我相信得到的結果給定日期是可行的(也許GROUP BY ...有),但我要尋找一個解決方案,這是所有的日期。
編輯:
有在本例中的錯誤,糾正......
我真的看不到那些'B'記錄中的邏輯。你爲什麼要在'2010年10月25日'得到'2010-11-26'? – GolezTrol
@Golez因爲這是ID' B'(我在這裏猜測)的最近日期 – NullUserException
我會這麼認爲,如果我讀了解釋,但2010-11-22似乎更接近我。 – GolezTrol