我有这张table
AGENT_CODE AGENT_NAME WORKING_AREA
---------- ------------- ---------------
A001 Subbarao Bangalore
A002 Mukesh Mumbai
A003 Alex London
对上表进行排序会得到下面的结果。
select *
from table_name
order by agent_name;
AGENT_CODE AGENT_NAME WORKING_AREA
---------- ------------- ---------------
A003 Alex London
A002 Mukesh Mumbai
A001 Subbarao Bangalore
现在,我想保留我的表,并将已定位行的排序顺序永久保存到同一个表中
当我跑步的时候
select * from table_name
结果应显示如下,无需排序
AGENT_CODE AGENT_NAME WORKING_AREA
---------- ------------- ---------------
A003 Alex London
A002 Mukesh Mumbai
A001 Subbarao Bangalore
2条答案
按热度按时间qco9c6ql1#
例如:当我运行select*from table\ u name时。结果应显示如下,无需排序
不,这是不可能的。sql表表示无序的行集合。在没有明确的
order by
在查询中,数据库可以自由地按它喜欢的任何顺序返回行,并且不能保证排序在同一查询的后续执行上是一致的。所以如果你想要一个一致的排序,一定要使用
order by
你的问题。50pmv0ei2#
您可以在表上创建聚集索引(如果还没有)。然后您的表将按该顺序排序…但不能保证select查询将按该顺序返回数据。只有通过指定ORDERBY子句才能这样做。
为什么不能使用订单?