我正在尝试在SQL Server上实现以下目标。 我每周都会从数据库中读取帐户。 在1/07/2018我已经阅读了5个帐户,分别带有相应的颜色。 一周后,我只读取了2个帐户,因为从那时起仅更改了2个帐户(帐户10001和10004)。 又过了一周,我只读了2个帐户(10004和10005)
因此,我想实现右边。 对于每次运行,我想查看不同帐户的状态。 由于我只重新插入了更改的数据(因此丢弃了与上次相比未更改的记录),因此我需要通过搜索该帐号的最新已知状态来确保结果中也存在未更改的记录。 / p>
最后,我需要一个具有15条记录的表(5个代表3个不同日期的表) 谁能帮我这个忙,因为我无法理解这一点。
答案 0 :(得分:0)
您可以使用row_number
窗口功能来获取每个帐户的最后一个条目:
SELECT accountno, color, datemod
FROM (SELECT accountno, color, datemod,
ROW_NUMBER() OVER (PARTITION BY accountno ORDER BY datemod DESC) AS rn
FROM mytable) t
WHERE rn = 1