ORACLE SQL - 如何使用现有表中的已排序行创建新表?

时间:2017-05-19 16:19:21

标签: sql oracle

我想从包含Products,Distributorid,Stock和其他多个字段的现有表创建一个新表。我希望根据最高股票价值的股票价值对新表中的行进行排序。

因为桌子很大。我一次性为一个distributorid插入数据。以下是使用的查询。

INSERT INTO STOCKTABLE2 
  SELECT * 
    from STOCKTABLE 
   where distributorid = '1' 
   ORDER BY stock desc;  

以上查询插入行。但是,当我选择*'选择*'查询,产品仍然以混乱的方式出现,而不是顶部最大库存的产品。你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

来自文档(嗯,不是文档,而是来自Oracle的文章):which Mac OS follows

“Oracle数据库表数据不以任何特定顺序存储,无论其插入数据库的顺序如何。要按列升序或降序检索行,必须告诉数据库您想要的这样做。“

...

“通过向SELECT语句添加ORDER BY子句来检索已排序的数据.ORDER BY始终是查询中的最后一个子句。”

答案 1 :(得分:0)

从另一篇文章中找到了这个。 我需要使用

type="password"