我对从数据库中检索的数据进行了分页。当我试图分别对每个页面进行排序时,它不起作用。这就像是对整个数据块进行排序并将其传播到两个页面上。我需要分别对每个页面的内容进行排序......
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的相同输出但是以两种方式排序......并且它没有发生!
答案 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进行排序,或者在程序中对其进行排序。