2012-11-20 199 views
30

我有一個與產品的MySQL表。MYSQL按升序和降序排序

該產品有一個類別ID和一個名稱。

我想要做的是按類別先訂單降序,然後按產品名稱升序排序。

SELECT * FROM `products` ORDER BY `products`.`product_category_id`,`naam` DESC 

我想什麼是

SELECT * FROM `products` ORDER BY `products`.`product_category_id`,`naam` DESC,ASC 

但是,不幸的是不起作用。

這是甚至有可能在MySQL中定義第二個排序列的排序順序?

回答

51

你可以這樣做,以這種方式:

ORDER BY `products`.`product_category_id` DESC ,`naam` ASC 

看一看ORDER BY Optimization

+0

那麼我想知道爲什麼會這樣很難找到對谷歌... probaly看與錯誤的關鍵字。 我會在幾分鐘內接受您的答案。 – Tschallacka

+1

[Google搜索](https://www.google.com/search?hl=zh-CN&safe=off&tbo=d&biw=1280&bih=909&noj=1&sclient=psy-ab&q=order+by+mysql&oq=order+by+mysql&gs_l=serp .3..0i20l2j0i7l7j0.56620.56620.0.56847.1.1.0.0.0.0.165.165.0j1.1.0.les%3B..0.0 ... 1c.1.86-zknQ5TOc) – hims056

+0

是的,它給出的順序,在那裏,但幾乎沒有任何教程的手冊強調如何做兩個順序。 – Tschallacka

0

我不明白在同一ORDER BY與同一列ASCDESC訂貨的意思,但是這如何能做到這一點:naam DESC, naam ASC像這樣:

ORDER BY `product_category_id` DESC,`naam` DESC, `naam` ASC 
+1

謝謝你的回答! – Tschallacka