Как получить отсортированный результат в MySQL запрос?

Я пытаюсь получить отсортированный результат из запроса MySQL, и у меня нет никакой идеи сделать запрос.

У меня есть пример таблицы Mysql следующим образом:

     id | cat_type
1  |  free
2  |  free
3  |  free
4  |  free
5  |  paid
6  |  paid
... |  ...
... |  ...
... |  ...
and it goes on.

Результат должен быть следующим из приведенной выше таблицы:

     id | cat_type
1  | free
2  | free
5  | paid

3  | free
4  | free
6  | paid

... | free
... | free
... | paid
and goes on(should be sorted)

Общий результат должен быть разделен на 3. В первых трех результатах первые два должны быть free и следующий должен быть paid аналогично все оставшиеся результаты должны быть отсортированы как два free и один paid,

Любая идея, как сделать это с помощью запроса?

ПРИМЕЧАНИЕ. Самое главное, чтобы он был отсортирован как два бесплатных и один платный. Не по идентификатору.

Благодарю.

0

Решение

Для вас конкретные данные, вы можете сделать:

order by (case when cat_type = 'free' then id*1.0
else 2*id - 7.5
end)

Это кажется очень аркан. Если у вас есть более общая проблема, вы должны задать еще один вопрос, давая лучшее описание того, чего вы действительно хотите достичь.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]