我想要做的是從表中選擇價格從表中開始和結束日期之間給定的日期。查詢返回日期範圍內的行,但僅返回列的最大值
SELECT price
FROM table
WHERE 'dategiven' BETWEEN startdate AND enddate
這是很容易與日期時間過濾器。問題是我在提供的時間窗口中有多條記錄,我也有一個版本列。
下面我有我的表的例子:
我想我的查詢輸出是如下在我的dategiven
是2013-08-25
牛奶有3條記錄,其中有2適用於dategiven
(2013-08-25)。然後我想要返回最高版本的結果?
類似:
SELECT
price
FROM table
WHERE 'dategiven' BETWEEN startdate AND enddate AND max(version)
日期過濾器應位於子查詢中。 – podiluska
對不起,我已更新。 – beiller
如果每個產品的版本號是唯一的,您不需要在主查詢上的startdate和enddate之間具有'dategiven',只需將其放在子查詢中就足夠了 –