Вы можете группировать / упорядочивать по производным значениям, хотя это исключает использование индекса, поэтому производительность будет большой в больших таблицах:
SELECT ...
...
GROUP BY CONCAT(
LEFT(yourfield, LOCATE('[', yourfield)),
RIGHT(yourfield, LENGTH(yourfield) - LOCATE(']', yourfield))
);
ПРИМЕЧАНИЕ: просто сходит с ума, так что это, скорее всего, не сработает, но должно дать вам основу для работы. Предполагая, что это сработает, строка будет разбита на две части - до [
и после ]
, сложите эти две части вместе, затем сгруппируйте их, эффективно удалив часть [...]
.
Если вы делаете такие вещи регулярно, то я предлагаю разделить это поле на два отдельных, чтобы у вас были выделенные / постоянные поля «до» и «после», которые можно индексировать и группировать / сортировать по это уродливое чудовище.