sql 取第n条数据问题

查询表中的第n条数据怎么查,表没有id,就按表中当前顺序查,我用select distinct vin from (select top 10 * from table1)topmax where vin not in(select vin from(select top 9 * from table1) topmin)为什么不行,一直显示top 10的数据,我把top 9的结果复制出来替换top 9的语句就可以,
select * from
(select top 10 * from vindata)topmax
where vin not in
(select vin from (select top 9 * from vindata) topmin)
现在可以去到第10条数据,但是怎么取这条数据的某个属性? 我是在加一层嵌套,运行就不是按括号顺序来,是按语句的先后怎么办,我就是想取查到的这条数据的某个属性,怎么取

select vin from
(select top 17 vin from table1 ) topmax
where vin not in 
(select top 16 vin from table1 )

这个可以直接查到vin的。

追问

我要的只是第N条的vin,比如你的这个只要第17条,你的会显示17条所有vin

追答select vin from 
(select top 17 vin from table1 ) topmax  --查前17条
where vin not in    --17条信息中找出不在16条信息中的那些数据(即第17条)
(select top 16 vin from table1 )         --查前16条

这个就是只显示第N条的vin,我还特地建了个表试的,不是显示N条vin,你可以复制过去试一试

追问

说了不行,我数据库复制试过了,表中没id,没有主键 vin只是一个属性,这个语句根本不行

追答

没图跟你说个J8。

两个查询语句:

上面是查询所有的行。

下面是查询第5行的vin。

追问

首先,表没有主键,其次vin是nvarchar(17),也就是定长的,表中所有字段都可以为空,这语句和我问题里的没什么区别,我早就试过,在定长字段上就是不行,

追答

神奇!
我下午工作比较忙。
如果你不急,我先忙完我的工作再帮你看看。
如果你很急,我还是得先忙完我的工作再帮你看看。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-09
恭喜恭喜,分给我吧,哈哈
相似回答