Sql 基于产品、日期和地点级别的价格变化历史记录

Sql 基于产品、日期和地点级别的价格变化历史记录,sql,Sql,我需要一个SQL查询,显示我的位置,产品和日期的价格变化历史 和下面的截图一样 我的表格数据是 根据您的RDBMS及其版本,您可能能够使用窗口函数LAG,该函数允许您访问组中的前一行,如: SELECT location, product, date, price - LAG(price) OVER (PARTITION BY location, product ORDER BY date) change FROM mytable 或使用子查询: SELEC

我需要一个SQL查询,显示我的位置,产品和日期的价格变化历史

和下面的截图一样

我的表格数据是


根据您的RDBMS及其版本,您可能能够使用窗口函数LAG,该函数允许您访问组中的前一行,如:

SELECT
    location,
    product,
    date,
    price - LAG(price) OVER (PARTITION BY location, product ORDER BY date) change 
FROM mytable 
或使用子查询:

SELECT  price- (
        SELECT  TOP 1 price
        FROM   mytable m2
        WHERE  m2.location = m1.location and m2.product = m1.product and  m2.date< m1.date
        ORDER BY 
          date
        )
FROM mytable m1

这是家庭作业吗?欢迎来到stackoverflow。另外,你的帖子应该包括一个问题,也就是你试图解决的问题。谢谢,先生,我的问题已经通过上面提到的问题解决了。