MySQL计数并加入以返回有序列表

时间:2015-02-11 22:45:09

标签: php mysql

我在加入时遇到问题。我在这里看了几个答案,似乎无法将它应用到我的特定问题中。

我有两张桌子:

包含likesiduser_IP列的item_id表。

包含许多列的auctions表格,包括idtitlesubtitlelocationid表中的auctions列引用item_id表中的likes

我可以使用以下代码获取按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

我认为这很可能非常简单,但在过去的几个小时里,我一直在睁大眼睛。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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