Я бы предложил серию подзапросов:
select id, substring_index(suggestions, ',', 1) as suggestion, 1
from example
where suggestions is not null
union all
select id, substring_index(substring_index(suggestions, ',', 2), ',', -1) as suggestion, 2
from example
where suggestions like '%,%'
union all
select id, substring_index(substring_index(suggestions, ',', 3), ',', -1) as suggestion, 3
from example
where suggestions like '%,%,%'
union all
select id, substring_index(substring_index(suggestions, ',', 4), ',', -1) as suggestion, 4
from example
where suggestions like '%,%,%,%'
union all
select id, substring_index(substring_index(suggestions, ',', 5), ',', -1) as suggestion, 5
from example
where suggestions like '%,%,%,%,%';
Это можно легко расширить, если у вас более 5 опций на один идентификатор.
Адреса в любом компьютере являются байтовыми адресами. Невозможно иметь меньшую степень детализации при рассмотрении доступа к памяти.
Вы можете полностью получить доступ к последовательным байтам в памяти, увеличив указатель, но у вас должен быть указатель на байты (например, char или unsigned char в C).
Если ваш указатель указывает на объект другого типа (целые числа, числа с плавающей запятой, структуры и т. Д.), Увеличение указателя приведет вас к следующему объекту. Например, если p является указателем на int (4 байта), p ++ добавит к p размер int (4).
Google «арифметика указателей», если не знакома с этими понятиями.