有一个数据库表A1,对A1的某字段DT进行升序排序,然后将排序的结果存入数据库表A2.
SQL语句如下:
INSERT INTO A2 SELECT * FROM A1 ORDER BY DT ASC表中大概有300条记录,发现其中总有10几行排错了地方,不知道有没有碰到过类似情况的朋友

解决方案 »

  1.   


    insert into A2(ID,值1,值2)
    select distinct ID,值1,值2 from A1 order by dt asc是这个意思吗
      

  2.   


    应该没有空格,我用SELECT * FROM A1 ORDER BY DT ASC来只进行查询的时候都是对的
      

  3.   

    INSERT INTO A2 
    SELECT * FROM (SELECT * FROM A1 ORDER BY DT ASC) aa
    这个试试?。。
      

  4.   

    我在自己的表格里执行貌似没错误哇LZ怎么回事。。表tba
    pid    inorout         weight
    1 False      1.4
    1 True       0.3
    1 True       0.8
    1 True       0.9
    2 False      3.6
    2 True       1.4
    2 True       3.2create tabel tbb(pid int,inorout char(10),weight float)
    --查询
    INSERT INTO dbo.tbb
    SELECT * FROM dbo.tba ORDER BY weight ASCSELECT * FROM dbo.tbb 
    --结果
    pid    inorout         weight
    1 True       0.3
    1 True       0.8
    1 True       0.9
    2 True       1.4
    1 False      1.4
    2 True       3.2
    2 False      3.6
      

  5.   

    INSERT INTO A2 SELECT * FROM A1 ORDER BY DATEDIFF(second, DT, getdate()) ASC
      

  6.   

    INSERT INTO A2 SELECT *,DATEDIFF(second, DT, getdate())  FROM A1 ORDER BY DATEDIFF(second, DT, getdate()) ASC