Я пытаюсь получить отсортированный результат из запроса 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
,
Любая идея, как сделать это с помощью запроса?
ПРИМЕЧАНИЕ. Самое главное, чтобы он был отсортирован как два бесплатных и один платный. Не по идентификатору.
Благодарю.
Для вас конкретные данные, вы можете сделать:
order by (case when cat_type = 'free' then id*1.0
else 2*id - 7.5
end)
Это кажется очень аркан. Если у вас есть более общая проблема, вы должны задать еще один вопрос, давая лучшее описание того, чего вы действительно хотите достичь.
Других решений пока нет …