请检查这是否能满足您的需求
DECLARE @SUBSTITUTE TABLE(SUBSTITUTECODE varchar(25), COLORCODE varchar(15), SIZEPOS smallint);
INSERT INTO @SUBSTITUTE(SUBSTITUTECODE, COLORCODE, SIZEPOS) VALUES
('002252200005001', 'BLK', 2),
('002252200005002', 'BLK', 3),
('002252200005004', 'BLK', 5),
('002252200005005', 'BLK', 6),
('002252200005006', 'BLK', 10),
('002252200005007', 'BLK', 11),
('0022522005003', 'BLK', 4),
('0022522005004', 'BLK', 5);
;With MyCTE AS (
SELECT SUBSTITUTECODE, COLORCODE, SIZEPOS
, RN = row_number() over (partition by SIZEPOS order by SUBSTITUTECODE) -- I assume that "first" you mean when ordering by SUBSTITUTECODE
FROM @SUBSTITUTE
)
SELECT SUBSTITUTECODE, COLORCODE, SIZEPOS
FROM MyCTE
WHERE RN = 1