• mysql求取最后两次价格上涨趋势


    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(序号) - 1 AS Expr1
                FROM dbo.PurchasePrice max22
                WHERE max21.物料编码 = 物料编码
            )    
        ) max2        
        ON pp.物料编码 = max2.物料编码        
        LEFT JOIN (        
            SELECT 物料编码, 日期, 单价    
            FROM dbo.PurchasePrice max31    
            WHERE 序号 IN (    
                SELECT MAX(序号) - 2 AS 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.物料编码    
  • 相关阅读:
    学习Python之路
    基本数据类型
    pthon之变量
    函数、参数、局部函数and函数内变量修改、嵌套函数
    文件操作M2
    文件IO操作二
    文件I/O操作
    字符编码
    数据类型之集合,数据类型总结
    数据类型之列表和元组
  • 原文地址:https://www.cnblogs.com/wutanghua/p/14221429.html
Copyright © 2020-2023  润新知