2015-02-11 52 views
1

我遇到了連接問題。我在這裏查看了幾個答案,但似乎無法將其應用於我的特定問題。MySQL計數並加入以返回有序列表

我有兩個表:

一個likesiduser_IPitem_id列。

具有很多列,包括idtitlesubtitlelocationauctions表。 auctions表中的id列是指likes表中的item_id

我能夠獲得通過訂購喜歡的排序列表中的ITEM_ID計數用下面的代碼:

 

    SELECT likes.item_id, count(likes.item_id) 
    FROM likes 
    GROUP by likes.item_id 
    ORDER by count(likes.item_id) DESC 

我需要的是有列表顯示所有拍賣(標題,副標題和地點每個)按照最喜歡的順序排列。我嘗試了一些我在這裏找到的東西,比如下面的代碼給出了一個語法錯誤,而且我一直無法產生我需要的輸出。

 
    SELECT likes.item_id, count(likes.item_id), pqc9_auctions.* 
    JOIN likes 
    WHERE likes.item_id = pqc9_auctions.id 
    GROUP by likes.item_id 
    ORDER by count(likes.item_id) DESC 

我認爲這是最有可能很簡單,但我已經準備跨獨眼超過這個最後幾個小時。任何幫助將不勝感激。

+0

考慮加入的語法錯誤消息你的問題。 – 2015-02-11 22:53:05

+0

@Jeffrey Bosboom - 我只是通過粘貼上面的代碼來查詢它,並沒有給出錯誤,它只是不返回任何內容。不知道爲什麼,因爲我沒有改變我能說的任何事情。我將來一定會發布任何錯誤。 Machavity的答案解決了我的問題。 – Twodogstar 2015-02-11 23:20:13

回答

1

如果你需要一個簡單的JOIN只是一定要拼出關係

SELECT likes.item_id, count(likes.item_id), auctions.* 
FROM auctions 
    INNER JOIN likes ON likes.item_id = auctions.id 
GROUP by likes.item_id 
ORDER by count(likes.item_id) DESC 
+0

非常感謝!由於我沒有足夠的聲望,我無法投票回答你的答案。我很感激。 – Twodogstar 2015-02-11 23:10:33

+0

@Twodogstar您仍然可以通過點擊投票箭頭下的複選標記輪廓來接受答案。 – 2015-02-11 23:21:11

+0

@JeffreyBosboom完成,謝謝。我環顧四周,因爲我認爲有一種方法可以標記答案,但沒有意識到檢查標記是這樣做的方式。謝謝您的幫助。 – Twodogstar 2015-02-11 23:25:05