我有一个包含_id、underSubheadId、wefDate和price的表。
无论何时创建产品或编辑价格,都会在此表中进行输入。
我想要的是,如果我输入一个日期,我将获得该日期之前所有不同子标题ID的最新价格(如果没有找到条目,则在该日期)
_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
非常感谢。