select top "+start+" uid from user
如果没相错的话,这里要有括号吧
即
SELECT TOP ("+start+") UID FROM USER
你可以试一试不一定对。
还有就是你不给分,没人会愿意回答你,好赖也给个5分10分的......
如果没相错的话,这里要有括号吧
即
SELECT TOP ("+start+") UID FROM USER
你可以试一试不一定对。
还有就是你不给分,没人会愿意回答你,好赖也给个5分10分的......
declare @s varchar(2000)
set @i=10
set @s='select top '+convert(varchar(10),@i)+' * from tb'
print @s
exec(@s)
你的贴没有分,所以很少有人回答你~~~怎么说也要意思一下~~~吸引顾客嘛~~
数据库应用程序开发中经常使用分页技术,常使用的技术手段有
1. 使用可滚动结果集 不建意使用,效率不高
2. 查询出所有再进行数据滚动分页 数据量大时会增加服务器负担
3. 存储过程 对一般程序员和分工来说不使用很好
4. 数据库查询分页算法.
经网上查找和自己实验总结常用数据库分面算法.
1.sqlserver 数据库分页算法
select top 每页显示条数 * from 表 where 数据库某字段 no in (select top (显示页-1)每页显示数 数据库某字段)
eg.select top 3 * from test where name not in (select top 3 name from test)
查询数据库第二页记录,每页显示三条记录
此算法的top可以提高数据库的查询效率,但not in降低了查询速度,因此如果你的数据库中有不重复的字段,我们可,如自动增长id,我们可以通过Max >或min <来优化数据库查询,如将上面的语句改为;
select top 3 * from test where id >(select max(id) from (select top 3 id from test order by id) as t) order by id
说明:
select top 3 id from test order by id :查询出第一页记录
select max(id) from (select top 3 id from test order by id) as t 查询出第一页记录的最大值id 并取别名为 t
最后查询出大于第一页记录最大id的前3条记录.
2. mysql 数据库查询分页 使用limit
select * from 表 limit 起始位置, 结束位置
==>select * from 表 每页显示记录*(要显示页-1),每页要显示的数
eg: select * from test 3,3 显示第4条记录到第6条记录==第二页记录