创建表:
CREATE TABLE data1 ( ti INTEGER, di CHAR(4), data CHAR(12), rec_time INTEGER, format CHAR(1) );查询:
SELECT * FROM data_rt;
想对查询得到的记录先以ti从小到大排序,再就是在同一个ti里,按di从小到大排序请教怎么写sql语句?

解决方案 »

  1.   

    没有看到记录
    seelct * from tt order by ti,di desc
      

  2.   

    谢谢!发现不用di,也会自动按先ti后di的顺序输出结果,这是为什么?
    seelct * from data1 order by ti;
      

  3.   

    有索引,没有主键:
    CREATE UNIQUE INDEX i_dt ON data1 (ti, di, rec_time);
    物理顺序不是这样的
      

  4.   

    由于你的索引是 data1 (ti, di, rec_time);
    所以,你的 order by ti,di desc 就利用了这个索引,而在这个索引中,恰巧第二个索引字段就是 di
      

  5.   

    参考一下这个贴子。
    http://topic.csdn.net/u/20090601/18/a89ad538-930f-44ec-aec7-0ee84c779db7.html?6369