我想使用id列按升序对表进行永久排序。 select * from CLAIMS order by ID asc; 按升序给我结果。但我想永久改变我的table。我正在使用sql management studio 2014。
select * from CLAIMS order by ID asc;
n7taea2i1#
如果查询中没有order by子句,就无法保证结果是有序的,但是可以按排序顺序存储行,以使sql server能够运行
不必每次都执行排序。为此,只需创建一个以id作为唯一列或前导列的聚集索引。如
alter table CLAIMS add constraint PK_CLAIMS primary key clustered (ID)
或者
create unique clustered index AK_CLAIMS on CLAIMS(ID)
vof42yt12#
我想永久地整理我的table你就是不能。sql表表示无序的行集合。表中的行没有固有的顺序,正如您所假设的那样。如果希望按给定查询的给定顺序返回行,请添加 order by 查询的子句:
order by
select * from claims order by id
如果你不提供 order by 子句中,数据库可以自由地按其喜欢的顺序返回行。您今天看到的给定查询的顺序在将来可能会发生意外的变化。
2条答案
按热度按时间n7taea2i1#
如果查询中没有order by子句,就无法保证结果是有序的,但是可以按排序顺序存储行,以使sql server能够运行
不必每次都执行排序。为此,只需创建一个以id作为唯一列或前导列的聚集索引。
如
或者
vof42yt12#
我想永久地整理我的table
你就是不能。sql表表示无序的行集合。表中的行没有固有的顺序,正如您所假设的那样。
如果希望按给定查询的给定顺序返回行,请添加
order by
查询的子句:如果你不提供
order by
子句中,数据库可以自由地按其喜欢的顺序返回行。您今天看到的给定查询的顺序在将来可能会发生意外的变化。