2015-05-14 3 views
-1

Предположим, что у нас есть результат, подобный этому столбцу: 1,1,1,1,2,2,2,2,3,3,3,3 , 3,4,4,4,4MYSQL Сортировка по альтернативным наборам результатов по столбцу

Я уже пробовал Обычные "упорядочить по возрастанию" и вернул меня:

1,1,1,1,2,2,2,2 , 3,3,3,3,4,4,4,4

Но требуется набор результатов:

1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4

Также используется функция «group by», так как используется с функциями агрегации он возвращает мне только 1-й набор результатов: 1,2,3,4

Пожалуйста, помогите мне в решении этого вопроса.

+0

Что «1» приходит первым? – Strawberry

ответ

0

Вы можете использовать определенные пользователем переменные для желаемого результата установите

SELECT column_id 
FROM (
SELECT column_id, 
@r:= CASE WHEN @g = column_id THEN @r + 1 ELSE 1 END seq, 
@g:= column_id 
FROM table1 
CROSS JOIN (SELECT @g:= NULL,@r:=0) t 
ORDER BY column_id 
) t1 
ORDER BY seq,column_id 
Смежные вопросы