多个记录不重复

时间:2018-06-24 17:11:06

标签: sql sql-server

我有一个名为TABLE_SCREW的表,我想在其中获取每个代码的最新记录。 例如,在下表中,您应获取ID为3和7的记录。 我是sql的新手,希望您能为我提供帮助。

TABLE_SCREW

1 个答案:

答案 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;