这句Sql的意思是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:10:00
SELECT TOP 10 * FROM(SELECT TOP 15 * FROM users ORDER BY users.id asc) users ORDER BY users.id desc
这句话的意思是
按id查询users的表第6条到第15条的记录(id是自动增长的,但现在id不连续了)
你们想对了没有?

我怎么觉得应该是取得了前十条记录呢?

SELECT TOP 15 * FROM users ORDER BY users.id asc
---〉取出前十五条记录,升序排列(默认就这样啊?)

SELECT TOP 10 * FROM(SELECT TOP 15 * FROM users ORDER BY users.id asc) users ORDER BY users.id desc
---〉前十五条记录的前十条,降序排列

最终结果不就是取得了前十条,然后倒序了下么?

前十五个中的后十个。

查询users表中按照id列排列的第5至15共10条数据

“第5至15共10条数据”
楼上北大数学系毕业
鉴定完毕。

你吧top 10* 都看成字段 ,字段top 别名10*
吧(select top 15* from users order by user.id asc )吧这个括号内的查询结果看成一个表,users 这个是表别名。
order by 是排序

意思就是
查询top 10* 在表(SELECT TOP 15 * FROM users ORDER BY users.id asc)users
按照哦人 order by 后面的users.id 排序 别名 desc