É possível, mas não é uma boa ideia.
Como exemplo, você pode dividir uma lista separada por vírgulas gerando um intervalo de números e usando-o com SUBSTRING_INDEX para obter cada elemento. No entanto, o intervalo de números precisa ser tão grande quanto o número máximo de valores delimitados.
Você pode então usar GROUP_CONCAT para juntar a lista novamente na ordem correta. Observe que a ordem será diferente dependendo se você converteu os valores divididos como números / inteiros ou os deixou como strings.
SELECT id, title, GROUP_CONCAT(aNumber ORDER BY aNumber)
FROM
(
SELECT id, title, CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(numbers, ',', tens.acnt * 10 + units.acnt + 1), ',', -1) AS UNSIGNED) AS aNumber
FROM some_table
CROSS JOIN
(SELECT 0 AS acnt UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) units
CROSS JOIN
(SELECT 0 AS acnt UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) tens
WHERE LENGTH(numbers) - LENGTH(REPLACE(numbers, ',', '')) >= tens.acnt * 10 + units.acnt
) sub0
GROUP BY id, title;
Demonstrado aqui no violino SQL (se o violino SQL decidir funcionar):-
http://www.sqlfiddle.com/#!9/c9703ee/4
A primeira seleção está lançando os valores como inteiros para classificá-los numericamente, a segunda não está lançando-os, mas apenas deixando-os como strings, portanto, a ordem de classificação é diferente.