Запрос с сортировкой - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть в базе записи с полем status, запрос выглядит следующим образом
SELECT * FROM `member` ORDER BY 'status' DESC
Тип status tinyint, предполагаемые значения 0,1,2,3 Нужно чтобы записи извлекались в таком порядке: 1,2,3,0 Ноль всегда должен быть последним. Как составить правильно запрос чтобы выполнить эти условия... PS. orm, laravel

Решение задачи: «Запрос с сортировкой»

textual
Листинг программы
SELECT * FROM `member`  ORDER BY  CASE `status`  WHEN 0 THEN 99999  ELSE `status` END

Объяснение кода листинга программы

Вот список действий, которые выполняются в данном коде:

  1. Выборка всех столбцов из таблицы member с помощью оператора SELECT *.
  2. Сортировка результатов запроса с помощью оператора ORDER BY.
  3. Использование оператора CASE для определения, как следует сортировать значения столбца status.
  4. Если значение столбца status равно 0, то оно будет отсортировано в порядке убывания (99999).
  5. В противном случае, значение столбца status будет отсортировано в порядке возрастания.
  6. Вывод отсортированных результатов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5