创建 SQL 查询收集移动平均库存同行交易

问题描述 投票:0回答:1

如何创建 SQL 查询来收集移动平均库存同行交易

我有购买价格

我的报告

商品名称 分钟 价格 平均
iPhone 13 5.00 0.00 500K 500K
iPhone 13 0.00 1.00 700K 500K
iPhone 13 0.00 1.00 750K 500K
iPhone 13 3.00 0.00 600K 我需要获得新的AVG
iPhone 13 0.00 1.00 700K 平均
iPhone 13 0.00 1.00 750K 平均

我已经在销售发票中保存了平均值,但这使得报告有时不正确,因为有时购买日期不正确并且客户更改日期。

此时所有平均值都不正确。

我通过这种方式收集报告中的平均值。

购买价格 = APayAmountTotal 购买数量 = APlus

SalePrice = MPayAmountTotal(来自保存的平均值) 销售价格数量 = MPlus

(APayAmountTotal/ APlus ) - (MPayAmountTotal / MPlus ) = 新平均值

我需要删除这个(MPayAmountTotal / MPlus)

我需要获得平均值而不保存平均输出数量。

sql sql-server average store
1个回答
0
投票

(作为评论会很混乱)

目前尚不清楚您要问什么,鉴于示例数据,您应该显示所需的结果并解释为什么应该得到该结果。对于“移动平均线”之类的内容,您需要一列来对其进行排序 - 例如 transactionDateTime。下面是使用自动生成的 id 作为排序列的入门示例:

select ItemName,    Plus,   Mins,   Price,
  avg(Price) over (partition by ItemName order by id) as movingAvg
  from myTable;

DBFiddle 在这里

© www.soinside.com 2019 - 2024. All rights reserved.