Не уверен, если это возможно, но может быть творческий подход ...
Учитывая эти данные в SQL Server 2005:
AAA AAA В В CCC CCC DDD DDD
Как я могу вернуть набор результатов, отсортированный по шаблону, подобному этому:
AAA В CCC DDD AAA В CCC DDD
Если бы ваш столбец назывался "col", а ваша таблица называлась "table", я бы попробовал что-то вроде этого:
WITH Indexes AS ( SELECT ROW_NUMBER() OVER (PARTITION BY col ORDER BY col) as __row, col FROM table) SELECT col FROM Indexes ORDER BY __row, col;
Mysql, если у вас есть таблица T (varchar); с предоставленными вами данными:
select @t:=a from T order by @t <> a;
это работает: -)
Не знаю, работает ли это, но в Oracle я бы попытался создать представление, в котором вы используете ROWNUM в запросе вашего представления.
Затем запросите представление и выполните сортировку по:
У меня нет моей базы данных, чтобы проверить это, но этот совет может дать вам некоторые идеи.