T-SQL(Access)删除所有重复项,但删除ID最高的重复项

时间:2016-11-14 09:30:15

标签: tsql duplicates access

我的基础有重复的问题,但我不能使用不同的选择到其他表因为我在一些列中有唯一的数据。我想保持最后评级。 例如:

ID| ProductName | Code | Rating
------|------ | ------ | ------
1| Bag | 1122 | 5
2| Car| 1133 | 2
3| Bag | 1122 | 3
4| Car | 1133 | 1
5| Train| 1144 | 1

作为查询的结果,我想得到:

ID| ProductName | Code | Rating
------|------ | ------ | ------
3| Bag | 1122 | 3
4| Car | 1133 | 1
5| Train| 1144 | 1

1 个答案:

答案 0 :(得分:1)

一个选项使用GROUP BY标识每个Code/ProductName组的最新重复项的ID值:

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT Code, MAX(ID) AS ID
    FROM yourTable
    GROUP BY Code
) t2
    ON t1.Code = t2.Code AND
       t1.ID   = t2.ID