我的SQL语句是select id ,date from qq order by date desc limit 3
查询结果是:
id date
7 2009-5-9
4 2009-5-7
3 2009-5-7
1 2009-5-7
9 2009-5-5
8 2009-5-2
5 2009-5-1
如果我想取第4条到第6条数据除了用select id ,date from qq order by date desc limit 3,6,还有其它方法吗?

解决方案 »

  1.   

    刚刚发错了点
    id date
    7 2009-5-9
    4 2009-5-7
    3 2009-5-7
    1 2009-5-7
    9 2009-5-5
    8 2009-5-2
    5 2009-5-1 
    这个是所有的数据
      

  2.   

    如果没有排序字段,寻limit 3,6是最好的方法了。如果有排序字段,比如按order by date desc,则还可以利用 select count(*)之类的子查询,但效率显示不如 limit 3,6
      

  3.   

    因为我发现limit 3,6  这种方式很方便,但数据多了的时候效率不高,比如limit 900000,1 达到这种的时候就慢得很,况且以后我的数据量是会超过这个的
    能说个更好的方法吗
      

  4.   


    即使900000, LIMIT也是最好的方法。如想提高效率关键是添加必要的索引。