@Pho_en_ix

Как сделать сортировку по нескольким полям сразу?

Здравствуйте. Есть база данных, в ней таблица - `test`, содержащая следующие поля:
`id` int(11) NOT NULL,
`time1` int(11) DEFAULT NULL,
`time2` int(11) DEFAULT NULL,
`time3` int(11) DEFAULT NULL

Из этой таблицы мне нужно сделать обычную выборку (SELECT * FROM test) и отсортировать результат по наименьшему значению из трёх полей сразу (time1, time2, time3)

Т.е. если таблица будет иметь данные:
(time1, time2, time3)
(10, 20, 30)
(1000, 1000, 1)
(200, 300, 400)
(600, 5, 700)

То мне нужно получить следующий отсортированный результат:
(time1, time2, time3)
(1000, 1000, 1)
(600, 5, 700)
(10, 20, 30)
(200, 300, 400)
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
glaphire
@glaphire
PHP developer
Как-то так:
SELECT id, time1, time2, time3, LEAST(t.time1, t.time2, t.time3)AS min FROM `toster_666564` AS t ORDER BY min

Результат:
5d7d11e7a23b6164908796.png
UPD. Можно и так, чтобы min не выводить
SELECT id, time1, time2, time3 FROM `toster_666564` AS t ORDER BY LEAST(t.time1, t.time2, t.time3)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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