2011-11-11 137 views
8

我有這樣的結構(http://cl.ly/3D1D3m1O0v3d0x2j0Z0EMySQL ORDER BY COUNT()?

我已經運行通過while循環查詢我的數據庫表設置,我想通過教授列的數量訂購。

這是我的查詢目前的樣子,雖然我不斷收到錯誤。

$order_list = mysql_query(" 
    SELECT COUNT(prof), 
    FROM prof_rating 
    ORDER BY COUNT(prof) ASC"); 

這是我不斷收到的警告。

警告:mysql_fetch_assoc()預計參數1是資源,在

回答

12

對於它的價值,在選擇列表中使用聚合函數意味着結果集只有一行。使用單個行對結果集進行排序沒有多大意義。

如果你的意思是讓每個教授的不同價值等級的數量,你應該這樣做:

$order_list = mysql_query(" 
    SELECT prof, COUNT(*) AS PROFCOUNT, 
    FROM prof_rating 
    GROUP BY prof 
    ORDER BY PROFCOUNT ASC'"); 

將輸出多行,每個教授值一行,行的每個計數給予教授的價值。

+0

感謝您的建議。在覈心問題上實現了什麼問題,我在我的mysql_query中添加了一個額外的內容,並且它引發了警告消息。不敢相信我一開始就忽略了它。 – Jako

6

定別名的列名,然後布爾提出,在您的ORDER BY子句:)

$order_list = mysql_query(" 
SELECT COUNT(prof) AS PROFCOUNT, 
FROM prof_rating 
ORDER BY PROFCOUNT ASC'");