我有一个名为TABLE_SCREW的表,我想在其中获取每个代码的最新记录。 例如,在下表中,您应获取ID为3和7的记录。 我是sql的新手,希望您能为我提供帮助。
答案 0 :(得分:2)
您可以使用:
SELECT TOP 1 WITH TIES *
FROM TABLE_SCREW
ORDER BY ROW_NUMBER() OVER(PARTITION BY CODE ORDER BY Date DESC);
另一种方法(可能会有更好的性能):
SELECT * -- here * should be replaced with actual column names
FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY CODE ORDER BY Date DESC) AS rn
FROM TABLE_SCREW) sub
WHERE sub.rn = 1;