2012-09-15 68 views
0

我有一個SQL命令是:SQL結果以不同的順序

SELECT * 
FROM `tattoos` 
ORDER BY id DESC 
LIMIT 176 ,5 

我要訂購結果遞增。

所以剛開始我得到

176 177 178 179 180 

但我希望它是

180 179 178 176 175 

我不希望所有的結果是在一個不同的順序,以便

SELECT * 
FROM `tattoos` 
ORDER BY id ASC 
LIMIT 176 ,5 

會不工作,因爲我會從查詢中得到其他結果。

我已經嘗試過

SELECT * 
FROM `tattoos` 
ORDER BY id DESC, id asc 
LIMIT 176 , 8 

但是這不會改變我的結果。

+0

跟蹤偏移的和應用過濾器,例如'WHERE id> 175 ORDER BY id LIMIT 5'? – eggyal

+0

@eggyal不,我不會得到的結果,如果一個值時便會去除。 –

回答

2
SELECT * FROM (
SELECT * 
FROM `tattoos` 
ORDER BY id ASC 
LIMIT 176 ,5 
) AS t 
ORDER BY id DESC 
+0

我得到#1248 - 每一個派生表必須有它自己的別名 –

+0

@SvenB嘗試添加別名'AS t' – xdazz

+0

THX工作太棒了! –

0

嘗試:

SELECT * FROM (
    SELECT * 
    FROM `tattoos` 
    LIMIT 176 ,5 
    ORDER BY id 
) 
ORDER BY id DESC