永久排序sql表不是结果

ttp71kqs  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(279)

我想使用id列按升序对表进行永久排序。 select * from CLAIMS order by ID asc; 按升序给我结果。
但我想永久改变我的table。我正在使用sql management studio 2014。

n7taea2i

n7taea2i1#

如果查询中没有order by子句,就无法保证结果是有序的,但是可以按排序顺序存储行,以使sql server能够运行

select * from CLAIMS order by ID asc;

不必每次都执行排序。为此,只需创建一个以id作为唯一列或前导列的聚集索引。

alter table CLAIMS add constraint PK_CLAIMS primary key clustered (ID)

或者

create unique clustered index AK_CLAIMS on CLAIMS(ID)
vof42yt1

vof42yt12#

我想永久地整理我的table
你就是不能。sql表表示无序的行集合。表中的行没有固有的顺序,正如您所假设的那样。
如果希望按给定查询的给定顺序返回行,请添加 order by 查询的子句:

select * from claims order by id

如果你不提供 order by 子句中,数据库可以自由地按其喜欢的顺序返回行。您今天看到的给定查询的顺序在将来可能会发生意外的变化。

相关问题