首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求一条sql语句!该怎么解决

2012-02-16 
求一条sql语句!不知简单还是难!如果要查询数据库前5条数据为:selecttop5*fromtablename但我想查数据库里

求一条sql语句!
不知简单还是难!
如果要查询数据库前5条数据为:
select   top   5   *   from   tablename;
但我想查数据库里第6-10条数据要怎样写?
有没有好方法?
前提数据库有可能是已被删除过数据的!不能用自动编号的ID查询!

[解决办法]
如果没有唯一的ID,那就是个难的问题了.
不过可以通过游标来读取指定位置范围的数据.
[解决办法]
mark
[解决办法]
例如如下的就可以:

DECLARE @_i INT
EXEC SP_CURSOROPEN @_i OUTPUT, @SQL, @scrollopt=1, @ccopt=1, @rowcount= @totalSize OUTPUT
EXEC SP_CURSORFETCH @_i, 16, @Index, @Size
EXEC SP_CURSORCLOSE @_i

[解决办法]
SELECT TOP 5 *
FROM (SELECT TOP 5 * FROM tablename)
ORDER BY ID DESC
[解决办法]
SELECT TOP 5 *
FROM (SELECT TOP 10 * FROM tablename)
ORDER BY ID DESC

[解决办法]
上面的方法都行,关键是你要变通的事情

[解决办法]
这不就是分页吗?
你到底想实现什么功能??
[解决办法]
SELECT TOP 5 *
FROM (SELECT TOP 10 * FROM tablename)
ORDER BY ID DESC

[解决办法]
数据分页的简单Sql语句
1、首先计算出总数据条数n,
2、再根据每页条数k,计算出共多少页m。
3、设计排序模式如:Order by ID ASC
4、第I页,I <m 查询语句:select top k * From (select top k * From (select top (k*I) * from tabe order by ID asc) order by ID desc) order by ID asc
5、最后一页
select top k * From (select top (n-(m-1)*k) * From table order by ID desc) order by ID asc

说明:最外层的select是正确排序
详细说明请见:http://www.gisshop.cn/blog/blog.aspx?ID=4
[解决办法]
select count(*) from table
[解决办法]
SELECT TOP 5 *
FROM (SELECT TOP 10 * FROM tablename)
ORDER BY ID DESC
[解决办法]
SELECT TOP 5 *
FROM (SELECT TOP 10 * FROM tablename)
ORDER BY ID DESC
[解决办法]
如果数据库用mysql的话,可以写 SELECT * FROM tablename limit 5,10;

热点排行