È possibile, ma non proprio una buona idea.
Ad esempio, puoi dividere un elenco separato da virgole generando un intervallo di numeri e utilizzandolo con SUBSTRING_INDEX per ottenere ogni elemento. Tuttavia, l'intervallo di numeri deve essere grande quanto il numero massimo di valori delimitati.
Puoi quindi utilizzare GROUP_CONCAT per unirti all'elenco nell'ordine corretto. Nota che l'ordine sarà diverso a seconda che tu abbia eseguito il cast dei valori suddivisi come numeri/interi o li abbia lasciati come stringhe.
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;
Dimostrato qui su SQL fiddle (se SQL fiddle decide di funzionare):-
http://www.sqlfiddle.com/#!9/c9703ee/4
La prima selezione sta lanciando i valori come interi per ordinarli numericamente, la seconda non li sta lanciando ma li lascia semplicemente come stringhe, quindi l'ordinamento è diverso.