Loading...
Кароче. В базе есть таблица `table` в ней есть поля `time1`, `time2` , `time3` нужно сделать выборку из этой таблицы, при этом отсортировав результат по наименьшему из этих полей.
Дайте sql запрос пожалуйста)
________
посл. ред. 14.09.2019 в 17:32; всего 1 раз(а); by Везувий
Неужели никак?
Цикл и ORDER BY `time1` ASC, `time2` ASC, `time3` ASC
TuT , Смотри. Поля имеют такие значения
time1 = 10000
time2 = 1
time1 = 100
time3 = 10

В итоге мне нужно получить 1,10,100,10000
order by case where....
sy2nyk , чего? Пример кода дай
Везувий (14.09.2019 в 18:47)
TuT , Смотри. Поля имеют такие значения
time1 = 10000
time2 = 1
time1 = 100
time3 = 10

В итоге мне нужно получить 1,10,100,10000

Примерно так
<?
$q = $pdo->query("SELECT * FROM `table` ORDER BY `time1` ASC, `time2` ASC, `time3` ASC")->fetch();
echo $q['time1'].' '.$q['time2'].' '.$q['time3'];

Или через цикл получать данные, преобразовывать в массив и сортировать.
________
посл. ред. 14.09.2019 в 19:34; всего 1 раз(а); by TuT
Везувий (14.09.2019 в 18:47)
TuT , Смотри. Поля имеют такие значения
time1 = 10000
time2 = 1
time1 = 100
time3 = 10

В итоге мне нужно получить 1,10,100,10000


не может быть 2 одинаковых столбца - time1
select * from test order by coalesce(time1, time2, time3)


array(4) {
["id"]=>
string(1) "3"
["time1"]=>
NULL
["time2"]=>
string(1) "1"
["time3"]=>
NULL
}
array(4) {
["id"]=>
string(1) "4"
["time1"]=>
NULL
["time2"]=>
NULL
["time3"]=>
string(2) "10"
}
array(4) {
["id"]=>
string(1) "2"
["time1"]=>
string(3) "100"
["time2"]=>
NULL
["time3"]=>
NULL
}
array(4) {
["id"]=>
string(1) "1"
["time1"]=>
string(5) "10000"
["time2"]=>
NULL
["time3"]=>
NULL
}

________
посл. ред. 14.09.2019 в 20:29; всего 2 раз(а); by sy2nyk
Онлайн: 6
Время:
Gen. 0.1025
(c) Bym.Guru 2010-2026