Я предполагаю, что "последний" означает "самый большой"?
DECLARE @t TABLE
(
col1 INT,
col2 CHAR(3),
col3 DECIMAL(4,1),
col4 INT
);
INSERT @t SELECT 123, 'abc', 1.1, 12345
UNION SELECT 123, 'abc', 1.1, 123445
UNION SELECT 1234, 'dsv', 2.0, 123
UNION SELECT 1234, 'dsv', 2.0, 1233;
WITH t AS
(
SELECT col1, col2, col3, col4,
rn = ROW_NUMBER() OVER
(PARTITION BY col1 ORDER BY col4 DESC)
FROM @t
)
SELECT col1, col2, col3, col4
FROM t
WHERE rn = 1;