SQL查询上有多个过滤器

1 sql sql-server max filter

我一直在阅读有关过滤SQL查询的许多主题,但似乎没有一个适用于我的情况,所以我需要一些帮助.我在SQL表上有以下数据.

Date                    item     quantity moved   quantity in stock sequence

13-03-2012 16:51:00    xpto         2                      2           1 
13-03-2012 16:51:00    xpto        -2                      0           2
21-03-2012 15:31:21    zyx          4                      6           1
21-03-2012 16:20:11    zyx          6                      12          2
22-03-2012 12:51:12    zyx         -3                      9           1
Run Code Online (Sandbox Code Playgroud)

所以这是在仓库中移动的数量,问题是前两行是接收并同时返回,因为我正在尝试进行查询,在给定时间给出所有项目的库存.我用,max(date)但我得不到合适的数量.

Qua*_*noi 5

SELECT  item, qty_in_stock
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (PARTITION BY item ORDER BY item_date DESC, sequence DESC) rn
        FROM    mytable
        WHERE   item_date <= @date_of_stock
        ) q
WHERE   rn = 1
Run Code Online (Sandbox Code Playgroud)