Задавайте вопросы, мы ответим
Вы не зашли.
Требуется сделать сортировку по условию в один запрос.
Вопрос кажется простым, но то ли я не могу сообразить, то ли он не простой.
Есть таблица:
id(int) status(bul) date
1 0 18-02-2017
2 1 21-02-2017
3 0 19-02-2017
4 0 20-02-2017
5 1 17-02-2017
6 0 22-02-2017
7 1 16-02-2017
Надо отсортировать результат таким образом, чтобы сначала шли записи со status=1, а потом со status=0. НО! записи со status=1 должны быть отсортированы по date ASC, а записи со status=0 по date DESC. То есть чтобы получилось так:
7 1 16-02-2017
5 1 17-02-2017
2 1 21-02-2017
6 0 22-02-2017
4 0 20-02-2017
3 0 19-02-2017
1 0 18-02-2017
Неактивен
Неактивен
не неправильно, тогда только городить через пользовательские переменные, нумеруя отдельно
select * from test where status=1 order by date
и
select * from test where status=0 order by date desc
и потом через union all с сортировкой status desc, `внутренняя нумерация через переменные`
в общем проще сделать 2 запроса к базе и сложить результат на клиенте
Неактивен
Значит всё таки сложно .
Я пробовал так:
Отредактированно keysi_ (23.04.2017 10:18:10)
Неактивен
хотя можно так:
Неактивен
Так получилось. Спасибо большое.
Неактивен