源数据表SRC, 目的表DES是个空表,
我想,把SRC里的数据按num1,num2(都是字符串)排序后,
导入DES表中,语句如下:insert into DES  
select * 
from SRC 
order by num1, num2可是结果,排在DES表前面是num1中H开头的字段,而num1中A开头的在中间,
很是乱,不知怎么回事

解决方案 »

  1.   


    insert   into   DES  
    select * from (   
    select   *   
    from   SRC   
    order   by   num1,   num2 
    )
    这样哪?
      

  2.   


    回复以上各位,
    我在用
    insert   into   DES     
    select   *   
    from   SRC   
    order   by   num1,   num2 
    导入数据后,
    然后取前20行(rownum<21)
    得到的是从H开头的字段当然要是在查旬前20行时,order by一下,结果是正确的,
    可是,我现在是想把数据按顺序存储,这样便于别人每次直接查看数据,而不必再写sql句另外,我之所以没有在表中建主键,就是存放数据时,按照不同字段排序后顺序存放,
    其实,这个表数据就1800多行,就是想直接在控制台看数据
      

  3.   

    这个问题,我又加了一个主键,id,但显示结果依旧不是顺序,看来与micro的sql不同,感觉使用不如其方便
      

  4.   


    恕不方便把数据给出,大概这样:源表src有n个字段,字段: num1, num2, num3, num4...
    数据:  b1    b1    *      *
           b2    c2
           b2    a1
           z2    a1
           ...  我想把src中数据按照num1,num2字典顺序排序后,一条一条插入到目的表des中,便于直接从表中看数据:insert   into   DES     
    select   *   
    from   SRC   
    order   by   num1,   num2 最后des表中顺序,确是num1中h开头的字段排在前面(我取des前20数据看到)。后来改用java,一条一条插入,并在des表中新建一个字段id(设为主键),最后还得不到我想要的结果,当然,我在java中用select * from src order by num1, num2 查询返回的数据是按顺序的,然后一条一条插入des,却最终得不到我想要的样式我想要des中这样:num1, num2, num3,....
    a1    ....
    a1    ....
    a2    ....
    a3    ...
    ...
    b1    ...
    b2    ...
    ...
    z26
      

  5.   

    数据库的基础是表内的行是没有顺序的,如果你想查询的时候有顺序,就用order by指定,所以你插入表后直接看是没有顺序的
      

  6.   

    暂时不了解,除非ORACLE存储数据的时候会把后面的数据存储到前面的数据前面。
    譬如有10个BLOCK,后面数据会存放在开始的几个BLOCK中。
      

  7.   

    Oracle里记录的数据没有顺序之分
      

  8.   

    谢谢大家关注!看来oracle与micro的sql不同