-1

我对从数据库中检索的数据进行了分页。当我尝试分别对每个页面进行排序时,它不起作用。这就像它正在对整个数据块进行排序并将其分布在两个页面上。我需要分别对每一页的内容进行排序...

Q1:

SELECT `firstName`, `lastName`, `creationDate`, `applicationStatus` 
FROM student 
ORDER BY firstName ASC LIMIT 0 , 25

Q2:

SELECT `firstName`, `lastName`, `creationDate`, `applicationStatus` 
FROM student 
ORDER BY firstName DESC LIMIT 25 , 25

Q2 给了我一大块 Q1 的数据,但与 Q1 的顺序相反。我需要的是与 Q2 相同的输出,但以两种方式排序......而且它没有发生!

4

2 回答 2

2

那是因为你正在反转你的ORDER BY. 保持与 相同Q1

SELECT `firstName`, `lastName`, `creationDate`, `applicationStatus` 
FROM student 
ORDER BY firstName ASC LIMIT 25 , 25

您希望保持ORDER BY不变,因为这将确保您的偏移量 25 从您的 LIMIT 25 结束的地方开始。

于 2012-09-14T13:52:30.347 回答
2

这就是 ORDER BY 子句的工作方式。如果您想对每个页面独立排序,您需要将其选择到一个临时表中并按其排序,或者在您的程序中对其进行排序。

于 2012-09-14T13:53:06.160 回答