sql 如何获得表中第30-40条的记录?

2024-12-05 03:00:44
推荐回答(5个)
回答(1):

SQL Server 2005中可以使用row_number()函数,但结果是经过排序后的第30-40条记录.
可以使用以下语句得出默认排在第30-40条的记录.
--SQL Server 2005
select top 40 * from table
except
select top 30 * from table

--SQL Server 2000
select * from
(select top 40 * from table) a
where id not in
(select top 30 id from table)

补充:
返回name为c,d,e的第3-5条,SQL SERVER 2000和2005均适用.
select * from
(select top 5 * from @t) a
where id not in
(select top 2 id from @t)

回答(2):

没的那样的需求。 一般的Id 都是自动增长的。

要不你就将数据放入的临时的表中。 在排序提取。

畸形的问题

回答(3):

分页查询快点
select
*
from
A
limit 30,10;

回答(4):

mysql 更简单

select * from tablename limit 29,10

回答(5):

SQL Server
select * from (
select ROW_NUMBER() over(order by t.[ID]) curr,* from [tablename ] AS t
) as t
where t.curr between 30 and 40

MySQL 楼上的可以。