Você precisa corrigir isso:
SELECT @listCol = STUFF(( SELECT distinct '], [' + [size]
FROM #t
FOR
XML PATH('')
), 1, 2, '') + ']'
Para retornar as colunas na ordem correta. Você pode ter que fazer algo assim em vez de usar
DISTINCT
:SELECT [size]
FROM #t
GROUP BY [size]
ORDER BY MIN(BucketNum)