怎么样用sql语句做到 只查询 表里第4~15行数据的写法
只查询 4到15行 之间的 4之前 和15之后 的都不查询
不知道怎么实现
假设总数据大于15行
先谢谢了
------解决方案--------------------select top 20 number=identity(int,1,1) into Numbers from syscolumns
select top 12 * from Numbers
where number not in (select top 3 number from Numbers)
4
5
6
7
8
9
10
11
12
13
14
15
(所影响的行数为 12 行)
------解决方案--------------------select top 100 number=identity(int,1,1) into Numbers from syscolumns
select * from(
select top 12 *
from(select top 15 * from Numbers order by number asc) a
order by number desc) b
order by number asc
------解决方案--------------------sql server 2000
4-15行应该假设是设字段FieldName排序得出的,
因为按不同字段排序会得出的4-15行的结果是不一样的,
select * from
(select top 12 * from
(select top 15 * from tableName order by FieldName) T order by FiledName desc)
order by FieldName
sql server 2005
有相应的排序函数,类似于ORACLE中的行号,很方便
------解决方案--------------------給前面括號中SQL語句返回的結果集取的別名
------解决方案--------------------假设取id字段
select top 15 * from (table) where id not in (select top 4 id from (table))
------解决方案--------------------select top 12 * from (select top 15 * from 表 order by id) 表2 order by id desc
------解决方案--------------------楼上的几位只是把那几条记录找出来了
下面这个语句可以查出任何段的结果,而且排序字段可以自己选择,结果会满足自己的要求
with T as (select ROW_NUMBER() over(order by ColumName) AS RowNo , * from TableName)
select * from T where RowNo between 4 and 15 Order by ColumName
PS:ROW_NUMBER()这个函数不知道2000有没有,我只知道2005有这个函数
------解决方案--------------------select top 15 * from table1 where id > =
(select max(id) from ( select top 4 id from table1 ) as a )
1、先找到前4条记录的id
2、从前4个id找最大id
3、大于最大等于id的前12
------解决方案--------------------sql2000里没有row_number()
sql2005可以用row_number()
------解决方案--------------------select * from
(select top 12 * from
(select top 15 * from tableName order by FieldName) T order by FiledName desc) T1
order by FieldName
------解决方案--------------------SQL太奥妙了
------解决方案--------------------select top 12 id from 你的表 where id not in (select top 3 id from 你的表order by id desc) order by id desc
这个才对
select top 15 * from (table) where id not in (select top 4 id from (table))
这个不包含第四条记录
其他我试了几个返回的记录根本不正确
------解决方案--------------------以前很多贴子都有的.
------解决方案--------------------select top 12 *
from
(
select top 15 *
from dbo.表
order by id asc
)lin
order by id desc
------解决方案--------------------一下五种方法:
1.select top 4 * from(select top 15 * from table order by id desc) a