2011-06-09 19 views
0

私はリストシステムをコーディングしています。私は2つのテーブルからコメントと投票数でORDERを取得しようとしています。私の現在のクエリがMySQLクエリはGROUP BY 3の結果を注文します。テーブル数

$q = mysql_query("SELECT * FROM zoo_leads 
LEFT JOIN Votes ON Lists.id=Votes.listid 
LEFT JOIN Comments ON Lists.id=Comments.listid 
GROUP BY Lists.id ORDER BY Comments.listid DESC LIMIT 10 

それは完全に結果を私に見せているが、ORDER BYが代わりに投票数のLists.idとあなたがORDER BY Comments.listidを持っているためである

+0

たぶん、問題は何もCOUNT()がないことです。 –

答えて

1

試してみてください。

SELECT * 
FROM zoo_leads 
     LEFT JOIN votes 
     ON lists.id = votes.listid 
     LEFT JOIN comments 
     ON lists.id = comments.listid 
GROUP BY lists.id 
ORDER BY COUNT(votes.id) DESC, 
      COUNT(comments.id) DESC 
LIMIT 10 
0

コメントされている

Table1 : Lists => id, title, detail 

Table2 : Votes => voteid, listid 

Table3 : Comments => commentid, listid 

あなたのSQLステートメント。

+0

Comments.listidを削除して再試行しましたが失敗しました... –