Voorbeeld SQL FIDDLE
1) Gebruik CTE om de maximale waarde van de scheepscode te krijgen op basis van ARDivisionNo, CustomerNofor elke klant
WITH cte AS (
SELECT*,
row_number() OVER(PARTITION BY ARDivisionNo, CustomerNo ORDER BY ShipToCode desc) AS [rn]
FROM t
)
Select * from cte WHERE [rn] = 1
2) Om het record te verwijderen, gebruikt u Delete-query in plaats van Select en wijzig Where-clausule in rn> 1. Voorbeeld SQL FIDDLE
WITH cte AS (
SELECT*,
row_number() OVER(PARTITION BY ARDivisionNo, CustomerNo ORDER BY ShipToCode desc) AS [rn]
FROM t
)
Delete from cte WHERE [rn] > 1;
select * from t;