如何查询得到SQL数据库表中第N行数据,N是一个参数,不确定的int数

用 top 关键字,后面好像只能跟具体数值,而不能是整型的参数

各位高手,请帮帮忙

第1个回答  2007-02-02
sql server里好像没有查询特定行的关键字,可以试试:select top 1 * from 表名 where 表的主键字段 not in (select top 参数-1 表的主键字段 from 表名)

例如:
表名:test
id int primary key,
name varchar 50.

想要查询第50行的记录:
select top 1 * from test where id not in (select top 49 id from test)

还可以根据需要进行排序。
第2个回答  2007-02-02
这个没有含义。
用数据库的目的在于数据之间的关联和运算。
而你是在找数据的位置。这是没有意义的。
完全可以用其他手段实现。
如果说你设计的程序需要这么做,我只能说你程序的设计上有失误
第3个回答  2007-02-02
第n条到第m条记录(你把m和n设为一个值)

select top n * from
(select top m * from tablename order by columnname) a
order by columnname desc
第4个回答  2007-02-02
exec('select top '+ @i+' * from table1')本回答被提问者采纳
相似回答