Intereting Posts
zend framework, где выражение в запросе Регулярное выражение для фильтрации параметров отслеживания URL-адресов в HTML PHP. Неинтересно загружать данные <head> </ head> в качестве include Использование неопределенной константы MCRYPT_BLOWFISH Как выбрать Неизвестное количество столбцов в mysql? Создание WSDL при использовании собственного класса SOAP PHP? как создать класс php, который может быть запущен до логического (быть правдивым или ложным) кеширование заголовков из PHP Какой лучший метод PHP для уменьшения размера изображения без потери качества регулярное выражение и косая черта Что происходит, когда соединения с MongoDB не закрыты? Процесс дочернего процесса Apache завершен со статусом 255 Поймать фатальное исключение и продолжить Добавьте пользовательскую кнопку «Бронирование» на страницу WooCommerce Single Перенаправление на реферер при отправке формы

как получить отсортированный результат в запросе 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 .

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

ПРИМЕЧАНИЕ. Наиболее важным является то, что он должен быть отсортирован как два бесплатных и один оплачен. Не по ID.

Благодарю.

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

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

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