sql如何把查到的前六条数据倒序排列?

上周在查询数据库,想要得到反向分页结果,但是需要通过调整6 和0的值来动态控制分页数。
这里6 代表分页显示的记录数,0用于构造子查询中的记录数。

6 和0的关系可以这样理解:

0的值在子查询中固定为0。
该值决定子查询不返回任何记录。

值 6 表示每页显示的记录数。

这是一种不同的关系:

页数=(当前页码
1 )页面大小+1
这里页面大小是每页的记录数,即6 因此,要在第一页上显示记录,6 应该是6 ,在第二页上应该是6 2 ,依此类推。

因此,6 用于计算当前页面应显示的第一条记录的索引(从0开始计数)。
子查询中0的作用是防止前面几页显示的记录重复。

例如我们要查询第一页的数据,页码为1 ,页大小为6 ,查询应如下:
sql 从表中选择缺少条件和编号的前 6 个 SELECT NUMBER FROM TOP 0 FROM TABLE WHERE 条件 ORDER BY NUMBER DESC ) 按数字 DESC 排序
这里TOP 6 表示只返回6 条记录。
TOP 0 子查询是为了确保主查询中以前没有看到过任何记录,因为子查询没有返回任何记录(即 0 行)。
这样就实现了一页显示6 条记录,并且不重复显示记录的相反效果。

sqlserver怎么倒叙查询(sql语句倒序查询怎么写)

他猜对了一半。
对于 ASC 来说这是一个积极的结果。

Book ID自动递增,前5 个是从后5 个倒序取出的。

但是你的SQL写错了。
应该是:
sql SELECT TOP 5 bookID FROM 表名 order by bookID ASC
不要添加额外的 SELECT。
你确定表名没问题吗?