Примерна SQL FIDDLE
1) Използвайте CTE, за да получите запис за максимална стойност на кода на кораб въз основа на ARDivisionNo, CustomerNofor всеки клиент
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) За да изтриете записа, използвайте заявка Delete вместо Select и променете Where Clause на rn> 1. Примерна 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;