读书人

如何样用sql语句做到 只查询 表里第4~

发布时间: 2012-01-30 21:15:58 作者: rapoo

怎么样用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



2.select top 4 * from table1
where id not in(select top 4 id from table1 order by id)
order by id

3.select top 4 id from balance where id > (select max(id) from (select top 4 id from balance) t)

4.select top 4 * from table where id in(select top 15 * from table order by id desc)

5.select top 15 * into #table from table desc id
select top 4 from #table

读书人网 >SQL Server

热点推荐