2012-09-14 40 views
-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的數據塊,但在第一季度的相反順序。我需要的是Q2的相同輸出,但是按兩種方式排序......並沒有發生!

+3

這是什麼意思「這沒有發生」?發生什麼事?這裏有什麼確切的問題? – PeeHaa

+3

如果您想知道如何接受答案,您可以閱讀以下內容:[接受答案如何工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-答案工作/ 5235#5235)。 – PeeHaa

+1

'SELECT * FROM(<原始查詢>)o ORDER BY o.firstName DESC' – DaveRandom

回答

2

這就是ORDER BY子句的工作原理。如果要獨立地對每個頁面進行排序,則需要將其選擇到臨時表和ORDER BY中,或者將其排序到您的程序中。

2

這是因爲您正在倒轉您的ORDER BY。保持它與Q1相同。

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

你要保持你的ORDER BY一樣的,因爲這將確保您的偏移25點開始在您LIMIT 25點結束。