Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.03;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1178638246
ARTEM779
2007-05-08 19:30
2007.06.03
проблема с дочерными окнами


2-1179225218
Lakshmy
2007-05-15 14:33
2007.06.03
Показ (0,0) угла TreeView


1-1175780961
rvg666
2007-04-05 17:49
2007.06.03
Как с помощью потока создать компоненты


5-1155620540
igorserg
2006-08-15 09:42
2007.06.03
Как сделать активную линию?


3-1173319054
Antoxa2005
2007-03-08 04:57
2007.06.03
Вопросик на зание SQL. (Дамы с праздником 8 марта)