@di882210

Почему не отрабатывает двойная сортировка MYSQL?

Запрос типа (пример):
SELECT * FROM
(SELECT * FROM `table` ORDER BY `date` DESC LIMIT 8) a
ORDER BY `price`

сортирует только по цене (2 параметр `price` ) игнорируя сортировку по дате (1 параметр date). Как сделать так чтобы он работал. Вернее на одном хостинге работает на другом только по 2-му параметру происходит сортировка. Хостера говорят проблема в запросе.
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что MySQL не гарантирует сохранения порядка строк, полученных из подзапроса.
SELECT * 
  FROM (
    SELECT * 
      FROM `table` 
      ORDER BY `date` DESC 
      LIMIT 8
  ) AS `a`
  ORDER BY `date` DESC, `price`
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
а так почему не хотите
SELECT * FROM `table` ORDER BY `date` DESC,`price` ASC LIMIT 8
?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы