例如,我有
Select ID, Name, Place
Into ##Temp_Table
From Table1
Select ID from ##Temp_Table
这将大致按顺序返回一个ID列表
2,35,47,23,1,15 ......你明白了。如果我添加Order By ID,那么我会按正确的升序排列。
有没有办法在插入语句之前使它们正确排序,以便在我
时Select ID from ##Temp_Table
我得到ID的升序?
如果我尝试
Select ID, Name, Place
Into ##Temp_Table
From Table1
Order By ID
Select ID from ##Temp_Table
我仍然混乱不堪。
谢谢!
答案 0 :(得分:2)
首先,除非指定order by
,否则永远不会保证结果的顺序。
其次,如果您在Id
上创建一个唯一的聚集索引,您可能会得到您想要的。
Select ID, Name, Place
Into ##Temp_Table
From Table1
create unique clustered index uix_##temp_table on ##temp_table (id)
Select ID from ##Temp_Table
有关详情,请参阅Marc_S的回答:https://codepen.io/jmachado/pen/ybzNzr