sql数据库分页

yy19890729 2010-07-26 06:41:57
select top 10 * from news order by id desc union select top 20 * from news order by id desc
我想取第十条至20条记录,我知道可以先去20条,倒序之后再取前十条,该怎么写呢


select top 10 * from news where id not in (select top 10 id from news order by id desc) order by id desc
这条语句可以实现。我想知道上面那种该怎么写
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuxuan21 2010-07-27
  • 打赏
  • 举报
回复

select top 10 * from news
where id not in
(select top 10 id from news)
  • 打赏
  • 举报
回复


敢问lz"我想取第十条至20条记录??" 是11条数据?

select * from (
select row_number()over(order by id) as row,* from news
) a
where a.row>=10 and a.row<=20

s_111111 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xys_777 的回复:]
select top 10 *
from (select top 20 * from news order by id ) t
order by id desc
[/Quote]
up
永生天地 2010-07-27
  • 打赏
  • 举报
回复
select top 10 *
from (select top 20 * from news order by id ) t
order by id desc
ksaponka_tang 2010-07-27
  • 打赏
  • 举报
回复
with t
as
(
select row_number() over(order by ItemId) as row , * from InventTable
)

select * from t where t.row>=10 and t.row<=20

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧