能否将按订单排序的语句显式保存在表中(SQL Server版本2017)

问题描述 投票:0回答:1

我有这张桌子

AGENT_CODE AGENT_NAME WORKING_AREA


A001 Subbarao班加罗尔A002孟买穆克什A003亚历克斯·伦敦

排序上表应该给我以下结果。从表名中按代理名选择*;

AGENT_CODE AGENT_NAME WORKING_AREA


A003亚历克斯·伦敦A002孟买穆克什A001 Subbarao Bangalore

现在,我想保留我的表并将已排序的行上的已排序顺序永久保存到同一表上例如:当我运行时,从table_name中选择*。结果应如下所示,不需订购

AGENT_CODE AGENT_NAME WORKING_AREA


A003亚历克斯·伦敦A002孟买穆克什A001 Subbarao Bangalore

sql-server sqlite sql-server-2008 sql-server-2005 sql-server-2012
1个回答
0
投票

您可以在表上创建聚簇索引(如果还没有索引的话)。然后,您的表将按照该顺序排序...但是不能保证选择查询将以该顺序返回数据。只有通过指定order by子句才能这样做。

为什么不能使用订单依据?


0
投票

例如:当我运行时,从table_name中选择*。结果应如下所示,不需订购

不,这是不可能的。 SQL表表示无序行集。在查询中没有显式order by子句的情况下,数据库可以按其喜欢的任何顺序自由返回行,并且不能保证在随后执行同一查询时排序保持一致。

因此,如果要保持一致的顺序,do在查询中使用order by子句。

© www.soinside.com 2019 - 2024. All rights reserved.