本人是初学者,所以有些低端的问题搞不懂,各位大侠见怪勿怪。问题是这样描述的:一个select语句,能否实现一个功能:将id在1—10范围的数据按倒序排列,将id在11—20范围的数据按顺序排列。不知道一个语句是否可以将上述问题解决,我也不会写这个select语句,请大伙帮忙,谢谢

解决方案 »

  1.   

    select  t.id from  (select  id  from table where id between 1 and  1 desc) a ,table t
    where t.id between 10 and 20 asc 试一试看看行不行 
      

  2.   

    为什么会有这样的应用,说一下用来做什么的,或许有其他的方法。
    如果是限定了只有20个的话用这个:
    --初步
    SELECT * FROM tb WHERE id > 0 AND id <11 ORDER BY id DESC
    UNION
    SELECT * FROM tb WHERE id > 10 AND id <21 ORDER BY id ASC
      

  3.   

    不行,分两次查询。
    另外,这个笔试可能不是考sql,而是数组排序。
      

  4.   

    执行:SELECT * FROM tb WHERE id > 0 AND id <11 ORDER BY id DESC
    处理数据。
    执行:SELECT * FROM tb WHERE id > 10 AND id <21 ORDER BY id ASC
    处理数据
    数组内排序,就:
    SELECT * FROM tb WHERE id > 0 AND id <21 ORDER BY id DESC
    将结果保存进数组,根据ID进行筛选排序,最后输出。
      

  5.   

    根據id倒敘排列
    order by id desk根據id正序排列
    order by id asc例如
    select * from usertable where id <100 order by id desc