排序:将一列1-10正序,11-20倒序,20-?正序,
前两步已经解决,请高人指点。SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROENUM < 10
UNION ALL
SELECT * FROM (SELECT * FROM (SELECT NO1 FROM TB ORDER BY NO1 ) WHERE ROWNUM <20 ORDER BY NO1 DESC) WHERE ROWNUM <10;我接触数据库不久,上面的句子我想能够优化。
请帮忙解决从21条以后未知条数的降序排列。谢谢。

解决方案 »

  1.   

    1-10
    SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 1010-20
    SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 20
    MINUS
    SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 1020-?
    SELECT * FROM TB ORDER BY NO1
    MINUS
    SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 20
      

  2.   

    些错了,SORRY
    20-? 正序
    SELECT * FROM(SELECT * FROM TB ORDER BY NO1)
    MINUS
    SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 20
    倒序SELECT * FROM(
       SELECT * FROM(SELECT * FROM TB ORDER BY NO1)
       MINUS
       SELECT * FROM (SELECT * FROM TB ORDER BY NO1)WHERE ROWNUM < 20)
    ORDER BY NO1 DESC