1
進行排序我有一個由ID,NAME,PRICE和DATE列組成的表。MySQL ORDER BY + LIMIT + OFFSET語句:如何將OFFSET捨棄,然後使用ORDER BY
我想寫一個pager風格的導航,因爲表中有很多條目,所以看着整個SELECT的輸出變得不舒服。
我已經寫了下面的要求:
SELECT id
, name
, price
, date
FROM mytable
ORDER
BY name asc
LIMIT 30 OFFSET _here's_my_offset_depending_on_the_current_position_
這工作正常,僅作爲例子。當我嘗試按價格排序時,似乎MYSQL首先使用ORDER BY對整個表進行排序,並且僅在它進行了偏移量排序後。
我該如何改變這種行爲,換句話說,我該如何做一個偏移量,並且只能通過我喜歡的whaterver對結果行進行排序?
使用子查詢。 –
排序在演示文稿上,而不是在sql中,如果你只想排序subresult。當然,傳呼機仍然按名稱順序排列,這會使結果有點奇怪。 – thst
你能解釋一下你爲什麼要這樣做嗎?如果你想做一個分頁你的查詢是好的,如果你做你想做的事(你必須使用子查詢),你的結果將是非常不一致的在你的不同頁面... –