2011-08-16 48 views
0

我有一個表有400項,我做的第一排序,以獲得最新的條目,並限制20Mysql的排序和重新排序,但這不起作用ORDER BY日期DESC,鑑於DESC

我endup與日期

SELECT date,view FROM `blog` order by date DESC limit 20 

    date   view 
    2011/08/16 18 
    2011/08/15 134 
    2011/08/15 20 
    2011/08/13 800 
    ... 

侷限於最新的20項,爲了一個輸出,但現在我想重新排序此輸出,如果我嘗試添加其他類型的,沒有什麼變化

SELECT date,view FROM `blog` order by date DESC, view DESC limit 20 


    date   view 
    2011/08/16 18 
    2011/08/15 134 
    2011/08/15 20 
    2011/08/13 800 

我會喜歡有

date   view 
2011/08/13 800 
2011/08/15 134 
2011/08/15 20 
2011/08/16 18 

thx爲您的幫助!

我是否需要創建一個tmp表並對此表進行度量,或者是否存在切割方法?

回答

-1

這應該工作;您只需從第一個結果集中進行選擇。

SELECT x.date, x.view FROM (SELECT date,view FROM `blog` order by date DESC limit 20) as x order by view DESC 

什麼是:它首先選擇來自博客的最後20條記錄。它使用結果作爲下一個SELECT的輸入,它根據視圖下令下降。

+0

剛剛得到這個錯誤,#1248 - 每個派生表都必須有自己的別名 – user420329

+0

我修正了錯誤。 – Eljakim

+0

完美! thx很多 – user420329