我在连接时遇到问题。我在这里查看了几个答案,但似乎无法将其应用于我的特定问题。
我有两个表:
包含 id
、user_IP
和 item_id
列的 likes
表。
auctions
表,包含许多列,包括 id
、title
、subtitle
和 location
。 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
我认为这很可能非常简单,但在过去的几个小时里我一直对这个问题不以为然。任何帮助将不胜感激。
最佳答案
如果您需要一个简单的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
关于php - MySQL计数并加入返回有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28466012/