select top 10 id from stock where id in (select top 20 id from stock order by id) order by id desc

解决方案 »

  1.   

    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
    select * from #temp where ID_Num>10 and ID_Num<=20
      

  2.   

    SELECT * 
       FROM T t1
      WHERE hits IN (SELECT TOP 10 hits
                   FROM T
                   WHERE datediff(month,dates,t1.dates)=0 
                ORDER BY hits desc
                  )
    ORDER BY year(t1.dates) DESC ,month(t1.dates) desc, t1.hits DESC
      

  3.   

    我的意思是指有程序代码中如何写这个SQL来查询位于第几条至第几条的记录,在程序界面上来显示,各位大虾,再帮帮忙!
      

  4.   

    看看这个:
    http://expert.csdn.net/Expert/topic/1232/1232240.xml?temp=.5055353
      

  5.   

    比如数据库中有10条记录
    1  a
    2  b
    3  c

    现在只想得到一个数据集,而该数据集内容为从第4条记录到第6条记录,也就是
    4  d
    5  e
    6  f
      

  6.   

    select top 20 字段列表,newField = identity(int,1,1) into #a 
    from 表
    select top 10 字段列表 from #a order by newfield desc
      

  7.   

    假如表中ID是主键的话:
    select top 20 * from 表 where id not in (select top 10 from 表 order by id) order by id
      

  8.   

    个人认为这不是好办法,因为如何我要选择的10000条数据到10010条数据之间的数据,那么就必须先 Select top 10000,这样对查询速度肯定有影响。这个问题在我写论坛时就困扰我很久,后来发现用建立游标解决。顶楼的老兄,建议先为所有记录建立游标,然后在通过选择的10到第20游标的记录,我的论坛是这样做分页的,但具体代码我忘记了。