Есть строка, сортировать буквы(символы) строки по алфавиту.
Пример:
SET @var="acb";
SELECT @var;
SELECT SORT(@var);
Вывод:
acb @var;
abc SORT(@var);
Нам потребуется рабочая таблица с порядковыми номерами от 1 до максимальной длины обрабатываемой строки:
create table seqnum(X int not null, primary key(X));
insert into seqnum values(1),(2),(3),(4);
insert into seqnum select X+4 from seqnum;
insert into seqnum select X+8 from seqnum;
insert into seqnum select X+16 from seqnum;
insert into seqnum select X+32 from seqnum;
...
Сортирующий запрос будет выглядеть так:
SET @var="acb";
select group_concat(substr(@var,x,1) order by substr(@var,x,1) separator '')
from seqnum
where x<=length(@var);
Данный запрос сначала разворачивает входную строку на отдельные символы, по одному в записи, после чего собирает полученную выборку обратно в строку, но уже в заданном порядке.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей