select top "+start+" uid from user
如果没相错的话,这里要有括号吧

SELECT TOP ("+start+") UID FROM USER
你可以试一试不一定对。
还有就是你不给分,没人会愿意回答你,好赖也给个5分10分的......

解决方案 »

  1.   

    还是不行噢,感觉好像是根本就不识别select top这种语法,不知道为什么
      

  2.   

    我推荐你把SQL语句放在查询分析器上执行一下
      

  3.   

    declare @i int
    declare @s varchar(2000)
    set @i=10
    set @s='select top '+convert(varchar(10),@i)+' * from tb'
    print @s
    exec(@s)
    你的贴没有分,所以很少有人回答你~~~怎么说也要意思一下~~~吸引顾客嘛~~
      

  4.   

    原来是mysql中不用select top。   
    数据库应用程序开发中经常使用分页技术,常使用的技术手段有
    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条记录==第二页记录