Can you try this?;with cte AS
(
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY CustomerId ORDER BY creationDate) AS RN1,
ROW_NUMBER() OVER (PARTITION BY CustomerId,CreatedBy ORDER BY creationDate) AS RN2
FROM
Tbl
)
SELECT
*,
CASE
WHEN RN1 > 1 AND RN2 = RN1 THEN 2
WHEN RN1 > 1 AND RN2 <> RN1 THEN 3
ELSE 1
END AS CodePart
FROM
cte;