2011-01-04 21 views

Antwort

3

könnten Sie

versuchen
Select * 
from some_table 
order by some_column asc 

Dies die Ergebnisse von some_column sortiert werden und sie in aufsteigender Reihenfolge vergeben. Verwenden Sie desc anstelle von asc, wenn Sie absteigend sortieren möchten. Oder meintest du, die Bestellung im physischen Lager selbst zu haben?

Ich glaube, es ist möglich, die Sortierung einer indizierten Spalte im Speicher anzugeben. Es ist wahrscheinlich am nächsten zu dem, was Sie wollen. Ich in der Regel nicht diesen Index Sortierfunktion verwenden, aber für weitere Informationen siehe: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5010.htm#i2062718

+0

Physischer Speicher selbst, ist das möglich? –

+0

@Jacob: Aktualisiert, eine Verknüpfung zu den CREATE INDEX-Anweisungsspezifikationen hinzugefügt, die zeigen, wie der Index im Speicher geordnet werden kann. – FrustratedWithFormsDesigner

+0

Ich könnte falsch liegen, aber ich denke, dass das OP auf die Speicherreihenfolge der Tabellendaten selbst eher als ein Index – bhangm

0

Oracle 10g Express unterstützt ANSI SQL wie die meisten RDBM ist, so dass Sie in der üblichen Weise sortieren:

SELECT * FROM Persons ORDER BY LastName 

Ein gutes Tutorial auf SQL kann hier gefunden werden: w3schools SQL

Oracle Express hat einige Einschränkungen im Vergleich zur Enterprise Edition, aber nicht in den grundlegenden SQL-Dialekt unterstützt.

1

Wie im relationalen Modell definiert, sind die Zeilen und Spalten in einer Tabelle ungeordnet. Das ist zumindest die Theorie.

In der Praxis sollten Sie immer die ORDER BY-Klausel verwenden, wenn die Daten in einer bestimmten Reihenfolge aus einer Abfrage kommen sollen. Die Reihenfolge der Ausgabe ist keine Garantie, es sei denn, Sie stellen dies zur Verfügung.

Es wäre möglich, eine ORDER BY beim Einfügen in eine Tabelle zu verwenden, aber das garantiert nicht die Reihenfolge, in der Daten ausgegeben werden. Eine Abfrage könnte jedes Mal in der gleichen Reihenfolge erscheinen ... aber das bedeutet nicht, dass sie das nächste Mal in der gleichen Reihenfolge erscheinen wird.

Es gab Probleme, als Oracle 10g herauskam, wo Sammelanfragen (mit GROUP BY) nicht sortiert wurden, weil Benutzer sich darauf verlassen mussten, dass die Daten als Nebeneffekt der Gruppierung sortiert wurden. Mit der Einführung der HASH GROUP BY wurden neben der SORT GROUP BY Menschen ertappt. Dies war eine nützliche Erinnerung, dass ORDER BY immer verwendet werden sollte.

+0

Bezug nahm, was, wenn 'ORDER BY' keine Option ist? In meinem Fall dauert es zu lange – Toolkit