Если вы всегда разделены пробелом, вы можете разбить строку на основе пробелов, используя диапазон сгенерированных чисел.
Нечто подобное
SELECT aString, COUNT(*)
FROM
(
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX((some_column, ' ', units.iCnt + 10 * tens.iCnt + 100 * hundreds.iCnt), ' ', -1) AS aString
FROM some_table,
(SELECT 1 aCnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0) units,
(SELECT 1 aCnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0) tens,
(SELECT 1 aCnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0) hundreds
WHERE LENGTH(some_column) - LENGTH(REPLACE(some_column, ' ', '')) >= (units.iCnt + 10 * tens.iCnt + 100 * hundreds.iCnt)
) sub0
При этом используется 3 кросс присоединился выбирает которой каждый генерируют цифры от 0 до 9, которые могут дать диапазон от 0 до 999 (может легко добавить еще Перекрестные соединения, если есть больше чем 999 строка в столбце). Этот номер используется с SUBSTRING_INDEX, чтобы получить строку до X-пространства, тогда SUBSTRING_INDEX используется с -1, чтобы получить строку из предыдущего пространства.
Предложение WHERE доступно только для того, чтобы выводить только одну строку (SUBSTRING_INDEX в противном случае получал бы последнюю строку несколько раз).