首页 新闻 会员 周边

sql中先排序,后过滤条件?

0
[已解决问题] 解决于 2010-10-18 11:26

有一张表Id字段,主键自增长,我想按他的顺序先倒序desc,然后再用between and条件,得到相应的数据,如何写呢?先谢了

Joe_true的主页 Joe_true | 初学一级 | 园豆:98
提问于:2010-10-15 15:23
< >
分享
最佳答案
0

用top和行号两种方式,where id 分页不可取,不一定连续的

SELECT * FROM
(SELECT * ,ROW_NUMBER() OVER(ORDER BY ClassId) AS WOR
 FROM ClassTable ) D
 WHERE WOR  BETWEEN 1 AND 5

dcstion | 菜鸟二级 |园豆:245 | 2010-10-15 18:03
其他回答(2)
0

select * from (select id,name from test  t  order by id) where id=50978

LoujaDy | 园豆:908 (小虾三级) | 2010-10-15 15:40
0

先order再where 没有实际意义,SQL实际查询会先where再排序,如果在SQL server 2008中,可以这样

SELECT * FROM
(
SELECT TOP (100) PERCENT * FROM Trade ORDER BY T_ID DESC) AS t
WHERE (T_ID BETWEEN 6810 AND 7000)

更详细的用法,请参考

http://www.cnblogs.com/downmoon/archive/2010/10/12/1849248.html

邀月 | 园豆:25475 (高人七级) | 2010-10-15 15:46
我是为了做分页,才这么做的
支持(0) 反对(0) Joe_true | 园豆:98 (初学一级) | 2010-10-15 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册