分页和排序不正常

时间:2012-09-14 13:50:17

标签: php mysql

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

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的相同输出但是以两种方式排序......并且它没有发生!

2 个答案:

答案 0 :(得分:2)

那是因为你正在撤销ORDER BY。保持与Q1相同。

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

您希望保持ORDER BY相同,因为这样可以确保您的偏差25从您的LIMIT 25结束处开始。

答案 1 :(得分:2)

这就是ORDER BY子句的工作原理。如果要单独对每个页面进行排序,则需要将其选择为临时表并按ORDER BY进行排序,或者在程序中对其进行排序。