
select top 10 * from (select top 40 * from a order by id asc) top_n order by id desc
以上这句是你写的,题目是:取出表A中第31到第40记录(SQLServer2005,以自动增长的ID作为主键,注意:ID可能不是连续的。)我想问下能不能将这段代码给讲解下...
以上这句是你写的,题目是:取出表A中第31到第40记录(SQLServer2005, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)
我想问下能不能将这段代码给讲解下。select top 40是查询前40条数据吧。那么括号外的select top 10是查询40条数据里的前10条。那不是和题目的意思不同了嘛。但我放到数据库里是能查到的。请讲解下,谢谢 展开
我想问下能不能将这段代码给讲解下。select top 40是查询前40条数据吧。那么括号外的select top 10是查询40条数据里的前10条。那不是和题目的意思不同了嘛。但我放到数据库里是能查到的。请讲解下,谢谢 展开
展开全部
你好,首先感谢你向我求助
这个语句第一部分
(select top 40 * from a order by id asc) top_n
查出前40条数据,表的别名为 top_n
再 order by id desc逆序查询出前10条,
也就是40到31条
所以就能取到结果
若还有疑问请直接HI我。
这个语句第一部分
(select top 40 * from a order by id asc) top_n
查出前40条数据,表的别名为 top_n
再 order by id desc逆序查询出前10条,
也就是40到31条
所以就能取到结果
若还有疑问请直接HI我。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询