By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
DECLARE @T TABLE (JsonArray NVARCHAR(MAX));
INSERT @T (JsonArray)
VALUES ('["I3","I23","B1","B3","B2","B4","B6","I1","I11","I4","I14","I24","I34","I5","I15","I25","I35","I6","I16","I26","I36","I21","B5","I31","I11","I3","I1","I31","I21","I21","I5","I4","I3","I21","I4","I23","B1","I23","I3","B1","B2","B3","I15","I15","B2","I13","I2"]');
SELECT *
FROM @T;
SELECT DistinctArray = JSON_QUERY(CONCAT('[', STRING_AGG(QUOTENAME(oj.Value,'"'), ',') WITHIN GROUP (ORDER BY oj.[Key]), ']'))
FROM @T AS t
CROSS APPLY
( SELECT oj.Value, [Key] = MIN(CONVERT(INT, oj.[Key]))
FROM OPENJSON(t.JsonArray) AS oj
GROUP BY oj.Value
) AS oj
GROUP BY t.JsonArray;
JsonArray |
---|
["I3","I23","B1","B3","B2","B4","B6","I1","I11","I4","I14","I24","I34","I5","I15","I25","I35","I6","I16","I26","I36","I21","B5","I31","I11","I3","I1","I31","I21","I21","I5","I4","I3","I21","I4","I23","B1","I23","I3","B1","B2","B3","I15","I15","B2","I13","I2"] |
DistinctArray |
---|
["I3","I23","B1","B3","B2","B4","B6","I1","I11","I4","I14","I24","I34","I5","I15","I25","I35","I6","I16","I26","I36","I21","B5","I31","I13","I2"] |