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