2012-03-06 1 views
-3

Я новичок в oracle, и у меня есть один вопрос например: как отображать данные в порядке убывания без использования ORDER BY CLAUSE в Oracle. будь то в sql или pl/sql.как отображать данные в порядке убывания без использования ORDER BY CLAUSE в Oracle

+5

естественный вопрос будет: почему вы не использовать заказ на статья? –

+0

Почему? И показывать, где - SQL * Plus, какое-то клиентское приложение ...? –

+0

Какова мотивация этого, зачем вам это нужно? –

ответ

3

Невозможно надежно получить отсортированные результаты без явного использования ORDER BY ..., если вы не можете использовать ORDER BY, вам необходимо организовать код в зависимости от того, какой язык программирования вы используете, чтобы вытащить данные, с которыми смешной.

2

Избегайте ORDER BY, используйте иерархический запрос с плоскими результатами и ЗАКАЗАТЬ SIBLINGS! (хорошо, это будет точно так же).

Вы также можете сделать это с:

SELECT * FROM ... 
START WITH 1 = 1 
CONNECT BY 0 = 1 
ORDER SIBLINGS BY ... 
+0

Я не знаю, стоит ли +1 или -1 :) –

+0

@Jefrey Kemp: -1 из-за плохой практики, +1 для ответа, который точно соответствует вопросу? – Benoit

+0

№ -1, потому что 'ORDER SIBLINGS BY', возможно, по-прежнему является предложением' ORDER BY' ... +1 для chutzpah: D –

-1

сортировать ENAME в порядке возрастания без использования порядка по статье:

select ename from emp 
union 
select ename from emp; 
+0

Пожалуйста, потратьте несколько минут, чтобы правильно отформатировать/отложить ответ. Существует ** много ** объяснения, как использовать наш язык разметки, прямо там, в окне редактирования! – GhostCat

+0

'union' будет ** НЕ ** сортировать результат. –