首页 新闻 赞助 找找看

数据库基础问题

0
[已解决问题] 解决于 2015-10-11 10:02

取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

select top 10 * from T_number where id >(select max(id) from (select top 30 id from T_number)as T_number )  为什么我取到的max(id)值是全表中最大的不是前30条最大的

抬头族的主页 抬头族 | 菜鸟二级 | 园豆:203
提问于:2015-10-10 21:09
< >
分享
最佳答案
0

似乎你要指定一下ORDER条件

SELECT TOP 10
        *
FROM    T_number
WHERE   id > ( SELECT   MAX(id)
               FROM     ( SELECT TOP 30
                                    id
                          FROM      T_number
                          ORDER BY  id ASC
                        ) AS T_number
             )
ORDER BY id ASC; 
奖励园豆:5
I,Robot | 大侠五级 |园豆:9783 | 2015-10-10 22:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册