找出过去5个月中最大的价格跃升/差额。我有一个包含Product_ID、价格和日期(更改的时间戳)的Price_Change表。
我试着得到过去5个月价格变化的所有结果:
SELECT Price, date
FROM Price_Change
WHERE date >= DATEADD(MONTH, -5, GETDATE())然而,我在如何计算最大的价格变化和比较所有产品上遇到了困难。我想我必须得到每个产品的最大值和最小值,然后互相减去,然后对变化进行排序。
有什么帮助吗?
发布于 2016-11-30 06:07:23
因此,按照您的建议,将该日期范围内每个产品订单的最高价格减去最低价格,再按价格差异递减,并将结果限制为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 1https://stackoverflow.com/questions/40876225
复制相似问题