Сортировка данных в таблице оракулов - PullRequest
1 голос
/ 04 января 2011

Можно ли отсортировать данные внутри таблицы оракула?Как по возрастанию / по убыванию через определенный столбец в алфавитном порядке.Oracle 10g express.

Ответы [ 5 ]

4 голосов
/ 04 января 2011

Вы можете попробовать

Select *
from some_table
order by some_column asc

Это позволит отсортировать результаты по some_column и расположить их в порядке возрастания. Используйте desc вместо asc, если вы хотите убывать. Или вы имели в виду порядок в самом физическом хранилище?

Я считаю, что можно указать порядок / сортировку индексированного столбца в хранилище. Это, вероятно, ближе всего к тому, что вы хотите. Я обычно не использую эту функцию сортировки индекса, но для получения дополнительной информации см .: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5010.htm#i2062718

3 голосов
/ 04 января 2011

Возможно, вы могли бы использовать организованную по индексу таблицу - IOT, чтобы гарантировать, что данные хранятся в порядке индекса.

Посмотрите на предложение физических свойств оператора CREATE TABLE: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2128663

Какую проблему вы пытаетесь решить? IOT может или не может быть то, что вы должны использовать.

1 голос
/ 06 января 2011

Как определено реляционной моделью, строки и столбцы в таблице неупорядочены. Это теория по крайней мере.

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

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

Были проблемы с выходом Oracle 10g, когда агрегатные запросы (с GROUP BY) не сортировались, поскольку пользователи стали полагаться на данные, сортируемые как побочный эффект группировки. С введением HASH GROUP BY в дополнение к SORT GROUP BY люди были пойманы. Это было полезным напоминанием о том, что всегда следует использовать ORDER BY.

0 голосов
/ 04 января 2011

Oracle 10g Express поддерживает ANSI SQL, как и большинство RDBM, поэтому вы можете сортировать стандартным образом:

SELECT * FROM Persons ORDER BY LastName

Хорошее руководство по SQL можно найти здесь: w3schools SQL

Oracle Express имеет некоторые ограничения по сравнению с Enterprise Edition, но не в базовом диалекте SQL, который он поддерживает.

0 голосов
/ 04 января 2011

Что вы на самом деле имеете в виду?

Вы просто запрашиваете заказ по пункту?

http://www.1keydata.com/sql/sqlorderby.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...