2013-03-05 64 views
0

我想排序一個名爲「BNAME」使用降序或命名列列「計數」爲了通過列名降序排列

我有我這個代碼是沒有排序:

SELECT bname FROM brandnames HAVING count(*) > 0 LIMIT 11 
+1

'ORDER BY'最後應用於聚合後,所以只需'ORDER BY COUNT(*)DESC' – 2013-03-05 19:58:37

+0

您想按名爲'count'的列進行排序,還是按'count(*)'排序? – 2013-03-05 20:00:08

+0

您還需要'GROUP BY bname'。 – 2013-03-05 20:00:25

回答

0
SELECT bname 
FROM brandnames 
HAVING count(*) > 0 
ORDER BY bname DESC 
LIMIT 11 
+2

措辭有點令人困惑,但我認爲OP要按'count'而不是'bname'排序。 – mellamokb 2013-03-05 19:59:03

+0

這裏缺少一個必要的GROUP BY bname ... – 2013-03-05 19:59:57

+0

我之前也試過這個,但它只顯示了最高的一行1行:( – 2013-03-05 20:01:07

0

使用ORDER BY _column_ ASC/DESC

SELECT bname FROM brandnames HAVING count(*) > 0 ORDER BY bname DESC LIMIT 11 
1

只需添加條款ORDER BY像這樣:

ORDER BY bname DESC 

DESC將按您的後代順序排列結果。你可以刪除DESC,你的結果將是上升的。

查看更多在這裏:"Order by" optimization

+0

我想按點數排序這不起作用 – 2013-03-05 20:37:33

0
ORDER BY bname DESC 

追加,爲您的SQL語句的結束。

ORDER BY按特定領域的訂單。

DESC指降序。這意味着反向字母或反向數字,或相反的日期順序。

取決於類型。刪除DESC它會自動升序。

祝你好運!