Salve,
puoi utilizzare un MAX partizionato per Numero, Eti, per poi scartare in DISTINCT i duplicati…
oppure puoi utilizzare un'aggregazione windowing sempre partizionata per ordinare in base a Diml, e scartare le righe oltre la #r = 1
ad esempio;
PRINT 'MAX over partintion con distinct per rimozione duplicati';
SELECT DISTINCT Numero, Eti, MAX(Diml) OVER (PARTITION BY Numero, Eti) AS Diml
FROM dbo.t
ORDER BY Numero, Eti;
PRINT 'windowing con ROW_NUMBER partizionato e filtro di esclusione scarti';
WITH cte AS (
SELECT Numero, Eti, Diml, ROW_NUMBER() OVER (PARTITION BY Numero, Eti ORDER BY Diml DESC) AS r
FROM dbo.t
)
SELECT t.Numero, t.Eti, t.Diml
FROM dbo.t
JOIN cte ON cte.Numero = t.Numero
AND cte.Eti = t.Eti
AND cte.Diml = t.Diml
WHERE cte.r = 1
ORDER BY t.Numero, t.Eti;
salutoni romagnoli
--
Andrea