我有一個包含_id,underSubheadId,wefDate,price的表。 每當創建產品或編輯價格時,也會在此表中進行輸入。 我要的是,如果我輸入一個日期,我得到的最新價格所有不同UnderSubheadIds日之前(或如果沒有進入發現號)獲取最新價格SQLITE
_id underHeadId wefDate price
1 1 2016-11-01 5
2 2 2016-11-01 50
3 1 2016-11-25 500
4 3 2016-11-01 20
5 4 2016-11-11 30
6 5 2016-11-01 40
7 3 2016-11-20 25
8 5 2016-11-15 52
如果我進入2016年11月20日的日期我應該得到
1 5
2 50
3 25
4 30
5 52
我在SQL Server中使用行數函數來實現的結果,但我想這個結果SQLite中不具備這樣的功能。 此外,如果2016-10-25(沒有條目)的日期被輸入,我想要第一個日期的價格。 喜歡1,我們會得到價格爲5最近和第一項是2016-11-01。
這是SQL SERVER的查詢工作正常。但我希望它沒有ROW_NUMBER函數的Sqlite。
select underSubHeadId,price from(
select underSubHeadId,price, ROW_NUMBER() OVER (Partition By underSubHeadId order by wefDate desc) rn from rates
where wefDate<='2016-11-19') newTable
where newTable.rn=1
謝謝
我剛剛運行了這個查詢,但是我得到的結果與Select * from t相同。 返回所有行。 :(@Gordon Linoff 看一看http://imgur.com/a/OeMhF –
@RishiChandak ...你確定這個關聯子句是正確的嗎? –
我不確定,但是你建議的查詢返回了所有行。 已經有了 –