首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

有兑现这样功能的sql语句么?

2011-12-13 
有实现这样功能的sql语句么???table1表里有60条记录1247...80id从小到大但不是连续的我要检索其中的10条条

有实现这样功能的sql语句么???
table1表里有60条记录
1
2
4
7
.
.
.
80     id从小到大   但不是连续的

我要检索其中的10条   条件是   (大于等于20     并且按   降序排列   id是最接近20的那些)
就是这些的记录   这样排
40
38
37
33
32
29
27
25
24
20

我写了这样的   select   top   10   *   from   table1   where   id> =20   order   by   id   desc
可是这样检索出来的记录是从最大的开始的   不是最接近20的那10条
如果有   select   bottom   10   *   from   table1   where   id> =20     order   by   id   desc就可以了   但没这样的sql语句。
谁能告诉我怎么写么?我在分页的时候用到的


[解决办法]
select * from table1 where id in
(Select top 10 id from Table1 where id > = 20 order by id)
order by id desc
[解决办法]
和恐龙差不多,

SELECT *
FROM (SELECT TOP (10) * FROM Table1 WHERE (ID > = 20) ORDER BY ID) AS x
ORDER BY ID DESC

热点排行