码迷,mamicode.com
首页 > 数据库 > 详细

三大数据库如何获取表中的第m条到第n条记录(n大于m)

时间:2016-09-07 23:05:05      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:数据库 oracle mysql sqlserver

数据库获取表中的第m条到第n条记录(n>m)

1、oracle数据库:(注:tableName.id指的是tableName的主键)

select * from

(select tableName.*,rownum as con from tableName

where rownum <= m

order by tableName.id desc)

where con >= n;


2、SQLServer数据库:(注:tableName.id指的是tableName的主键)

实现原理解释:

1)先查出前m面条记录

2)再查出前n面条记录

3)最后通过条件过滤掉前m条记录

方法一:

select top n-m+1 * from tableName

where tableName.id not in

(select top m tableName.id from tableName order by desc tableName.id)

order by tableName.id

方法二:

select top n-m+1 * from tableName as a where not exists

(select * from

(select top m * from tableName order by id desc) b

where b.id = a.id)

order by id desc


3、MySQL数据库:

select * from tableName limit m, n;


本文出自 “专注于开发技术” 博客,请务必保留此出处http://bingge2015.blog.51cto.com/4332222/1847493

三大数据库如何获取表中的第m条到第n条记录(n大于m)

标签:数据库 oracle mysql sqlserver

原文地址:http://bingge2015.blog.51cto.com/4332222/1847493

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!