sql 连续行中,code相同,ID连续,上下行数值相同的多行,D列取相同数值行最上行的上一行的数值?
1个回答
展开全部
这个比较复杂:(
WITH cte AS ( --找出分组的最小行号
SELECT *
,Min(ID) OVER (PARTITION BY Code, 数值) AS MinID --添加1列,使用开窗函数
FROM TableX
)
SELECT ID, Code, 数值
,X.数值 AS [D]
FROM cte
--然后关联原表
LEFT JOIN TableX X ON cte.Code = X.Code
AND cte.数值 = X.数值
AND cte.MinID = X.ID + 1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询