2015-08-28 83 views
0

我想知道是否有人知道是否有办法对已存在于数据库中的数据进行排序。也就是说,我想排序什么,但不是在查询中检索它。Oracle SQL - 存储在数据库中的订单数据

我在问,因为我有一个这个数据库中的东西的列表,我希望在将来添加并希望在添加它们之后订购它。

所以我的意思是,我想不必下载所有的数据;把它分类;然后将其放回数据库。

在此先感谢。

+0

我不确定我关注?你想知道如何对数据进行排序? http://www.w3schools.com/sql/sql_intro.asp – Mark

+5

关系数据库中的行不是**“排序”。检索它们时对它们进行排序。仅对***结果进行排序的方法是使用'ORDER BY'。 –

+4

表中的数据未排序;您在查询时订购它。你所要求的并不合理。 –

回答

0

如果表中只有一列,那么这很好,你可以简单地对表中的数据进行排序。

但是,如果表中有多个列,那么它也会依赖于其他列(即,您需要指定要查找哪个列进行排序)。 此外,如果存在主键附加到表中,那么它不可能,因为主键默认情况下会以升序排列。在这种情况下,您只能从表中选择数据。

(我的建议是,同时从表中选择您的记录,因为这将是容易,将有风险更小的数据排序)

编辑:

为了让我点直并且清楚,实现您试图简单使用的最佳方法ORDER BY ASCORDER BY DESC当您从表中选择数据时。

如果您正在创建一个新表,那么您可以创建索引组织表以确保数据按索引排序。

+3

“*如果有一个主键附加到表,那么它不可能,因为它会按默认升序排列*”这是错误的。行不排序并且主键的存在不会改变(特别是不在Oracle中) –

+0

@a_horse_with_no_name: - 它用于主键,即主键默认按升序排列。不是吗? –

+1

不,它不是。即使主键_index_是“升序”,也并不意味着表格也是这样存储的。 –

0

我想知道是否有人知道是否有办法对已经驻留在数据库中的数据进行排序。

普通关系表,称为堆组织的表,存储行以任意顺序即未排序。你排序行如果只有当你需要他们,而不是当你存储他们。确保检索行时排序的唯一方法是使用ORDER BY子句。

相关问题