实际上我很支持,并且正在为我的AirsoftShop和一些请求设置DB PostgreSQL。我需要找到与SELECT LAST(xx)FROM yy相似的功能,我认为它们可以在SQL Server和OracleDB上使用。为了通过LAST()返回列目标中的最后一个插入值。
我有这张桌子:
CREATE TABLE munition.suivi_ammo (
type_ammo integer NOT NULL,
calibre integer NOT NULL,
event integer NOT NULL,
date_event date NOT NULL,
entrance integer NOT NULL,
exit integer NOT NULL,
inventory integer NOT NULL,
FOREIGN KEY (calibre) REFERENCES munition.index(numero),
FOREIGN KEY (event) REFERENCES munition.index(numero),
FOREIGN KEY (type_ammo) REFERENCES munition.index(numero)
);
以及用于通过编号id进行定义的索引:
CREATE TABLE munition.index (
numero integer NOT NULL,
definition text NOT NULL,
PRIMARY KEY (numero)
);
我想选择表中最后一个插入的库存,并根据库存后的流入和流出量计算当前库存
当我在特定日期执行此类请求以确保只有最后一个库存时,这是可行的,但是我不想这样做
SELECT index.definition,
Sum(suivi_ammo.inventory) + Sum(suivi_ammo.entrance) - Sum(suivi_ammo.exit) AS Stock
FROM munition.suivi_ammo
INNER JOIN munition.index ON suivi_ammo.type_ammo = index.numero
WHERE date_event < '03/05/2019' AND date_event >= '2019-04-10'
GROUP BY index.definition;
我也尝试使用last_value()窗口函数,但是不起作用。 谢谢!