mysql数据分析涨势_mysql求取最后两次价格上涨趋势

该博客通过MySQL查询分析了物料的最新、上一次和上二次价格,计算了涨幅,以便了解价格上涨趋势。利用LEFT JOIN操作从PurchasePrice表中选取特定序号的价格记录,从而获取物料的历史价格信息。
摘要由CSDN通过智能技术生成

SELECT DISTINCT pp.物料编码, pp.物料名称, IFNULL(pp.规格型号, '') AS 规格型号

, pp.物料类型, pp.单位, max1.日期 AS 最新日期, max1.单价 AS 最新价, max2.日期 AS 上一次日期

, max2.单价 AS 上一次价

, (max1.单价- max2.单价) / NULLIF(max2.单价, 0) AS 涨幅

, max3.日期 AS 上二次日期, max3.单价 AS 上二次价, min2.日期 AS 最初日期, min2.单价 AS 最初价

FROM dbo.PurchasePrice pp

LEFT JOIN (

SELECT 物料编码, 日期, 单价

FROM dbo.PurchasePrice max11

WHERE 序号 IN (

SELECT MAX(序号) AS Expr1

FROM dbo.PurchasePrice max12

WHERE max11.物料编码=物料编码

)

) max1

ON pp.物料编码=max1.物料编码

LEFT JOIN (

SELECT 物料编码, 日期, 单价

FROM dbo.PurchasePrice max21

WHERE 序号 IN (

SELECT MAX(序号)- 1AS Expr1

FROM dbo.PurchasePrice max22

WHERE max21.物料编码=物料编码

)

) max2

ON pp.物料编码=max2.物料编码

LEFT JOIN (

SELECT 物料编码, 日期, 单价

FROM dbo.PurchasePrice max31

WHERE 序号 IN (

SELECT MAX(序号)- 2AS Expr1

FROM dbo.PurchasePrice max32

WHERE max31.物料编码=物料编码

)

) max3

ON pp.物料编码=max3.物料编码

LEFT JOIN (

SELECT 物料编码, 日期, 单价

FROM dbo.PurchasePrice min21

WHERE 序号 IN (

SELECT MIN(序号) AS Expr1

FROM dbo.PurchasePrice min22

WHERE min21.物料编码=物料编码

)

) min2

ON pp.物料编码= min2.物料编码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值