如何得到指定行的ID值
我只想得到比如 第300行的ID字段值 怎么得到。
我是说除了SELECT 套SELECT TOP 之外的办法
谢谢各位大大
------解决方案--------------------select *,identity(int,1,1) as aa
into #aa
from table
select id
from #aa
where aa=300
就可以了
------解决方案--------------------LS的方法不错,想不到有比他更好的了
------解决方案--------------------路过,正解!
------解决方案--------------------考虑到你说的情况 了,identity(int,1,1) 等于 新加了一个由1 开始 自增的列,但是 必须要有 into 子句,上面的就可以了,选第几行 条件等于 几就可以了
------解决方案-------------------- select * from tb a where (select count(*) from tb where id <=a.id)=300
这种情况需要id唯一.id有顺序排列,比如id为1,5,6..1,6,5这种就不成
------解决方案-------------------- select top 1 id from(
select top 300 * from tb
order by id ) aa
order by id desc
------解决方案--------------------用SET ROWCOUNT 这个数据量大时效率比较高的
------解决方案--------------------一个思路,用临时表处理,为表加上一个连接的自增列,然后就好处理了.
这样效率高些.