[英]subtract two rows and keep the latest row with the same ID in Sql Server
Try this
DECLARE @T TABLE
(
PatId INT,
ChargeId INT IDENTITY(1,1),
TranType VARCHAR(20),
SomeText VARCHAR(20)
)
INSERT INTO @T
(
PatId,
TranType,
SomeText
)
VALUES(598,'Void','Sample 11'),
(598,'Charges','Sample 12'),
(598,'Charges','Sample 13'),
(611,'Void','Sample 21'),
(611,'Void','Sample 22'),
(611,'Charges','Sample 23')
;WITH CTE
AS
(
SELECT
RN = ROW_NUMBER() OVER(PARTITION BY PatId,TranType ORDER BY ChargeId DESC),
*
FROM @T
)
SELECT
*
FROM CTE
WHERE RN = 1
样本输入
样本输出
使用patid分区的排名功能和chargeid DESC的顺序,然后从where子句中过滤掉不必要的记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.