@generate
Попрошайка

Как правильно отсортировать несколько условий ORDER BY DESC?

SELECT * FROM `serial` ORDER BY `serial`.`season` DESC, `serial`.`episode` DESC LIMIT 10

Первый параметр идёт нормально, а второй параметр почему то не числовому порядку идёт. Как это исправить ?
5fae1e933ec88917110837.jpeg
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Скорее всего, у поля текстовый, а не числовой тип, поэтому и сортируется оно как текст.
Используйте явное преобразование
ORDER BY ... CAST(`serial`.`episode` AS UNSIGNED) DESC
Само собой, индекс при такой сортировке работать не будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bacon
Наверно потому что episode не числового типа?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы