Форум: "Прочее";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизSQL запрос Найти похожие ветки
← →
phpdeveloper (2007-05-08 19:22) [0]Доброго времени суток.
Выполняю запрос, сортирую данные ORDER BY sort_order
У многих записей sort_order равен 0.
Как сделать, чтобы записи, у которыйх sort_order равен 0, были бы последними, т.е. чтобы выдача римерно была такая
sort_order
1
4
6
7
0
0
0
Это пример
Подскажите.
Буду очень благодарен
Спасибо
← →
Desdechado © (2007-05-08 19:27) [1]1. Сделать еще одно поле для сортировки.
2. Если СУБД поддерживает функции, сделать функцию от sort_order, возвращающую нужное сортировочное значение (например, maxint для 0). И, возможно, индекс по этой функции, чтоб быстро работало.
← →
kaif © (2007-05-08 19:28) [2]Если скорости и индексы мало волнуют, то можно сделать, например, так:
select
sort_order,
case when sort_order = 0 then 1000000000 else sort_order end
from
...
order by 2
:))
← →
phpdeveloper (2007-05-08 19:38) [3]А как в обратном порядке сортировать т.е. на убывание?
← →
kaif © (2007-05-08 19:40) [4]order by str_order desc
← →
Reindeer Moss Eater © (2007-05-08 22:56) [5]Достаточно простого умножения на константу
order by sort_order * n
плюс вариации со знаком константы и desc, asc
← →
Sergey13 © (2007-05-10 09:05) [6]> [0] phpdeveloper (08.05.07 19:22)
А что за СУБД?
> у которыйх sort_order равен 0
0 или NULL?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c