永发信息网

sql server查询相同主键的不同时间对应数据的差值

答案:1  悬赏:20  手机版
解决时间 2021-04-17 07:05
  • 提问者网友:萌卜娃娃
  • 2021-04-16 07:30
sql server查询相同主键的不同时间对应数据的差值
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-04-16 07:47
有点复杂。
1、根据PK,为每条记录生成RowNumber() -->假定进入临时表#Data
SELECt *
RowNumber() OVER (PARTITION BY BuyerID ORDER BY CreateTime) AS RowNo

INTO #Data
FROM TableX

2、对此表进行自连接,条件为RowNo相差1
SELECt D1.BuyerID
,D1.CarMoney - D2.CarMoney AS [差价]

,...

FROM #Data D1
JOIN #Data D2 ON D2.BuyerID = D1.BuyerID AND D2.RowNo = D1.RowNo + 1

注:作为优化,你可以将2步并为一步。使用CTE(公共表达式),代码会更清晰。追问我好像搞定了 谢谢大神
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯