找出过去5个月中最大的价格跳跃/差异。 我有一个Price_Change表,其中包含Product_ID,Price和Date(更改时间戳)。
我试图获得过去5个月价格变化的所有结果:
SELECT Price, date
FROM Price_Change
WHERE date >= DATEADD(MONTH, -5, GETDATE())
然而,我很难理解如何计算最大的价格变化并对所有产品进行比较。我想我必须得到每个产品的最大值和最小值,然后相互减去,然后对变化进行排序。
任何帮助?
答案 0 :(得分:0)
因此,如您所建议的那样,按价格变动降低每个产品订单的最大价格减去该日期范围内的最低价格,并将结果限制为1.
您缺少的密钥是按照该价格排序结果(排名),并将限制为1.我使用您的日期逻辑where子句,所以如果它是这样的话对您的环境无效! :P
SELECT PC.Product_ID, Max(PC.Price) - Min(PC.Price) as PriceVar
FROM Price_Change PC
WHERE PC.date >= DATEADD(MONTH, -5, GETDATE())
and PC.Product_Id = PCa.Product_Id
GROUP BY PC.Product_ID
ORDER BY PriceVar dec
LIMIT 1