我有2张桌子。一个是项目,另一个是对这些项目的投票。mysql:如何INNER JOIN一个表,但限制连接1结果与最高票数或计数?
Items table has: |item_id|name|post_date
Votes table has: |votes_id|item_id|answer|total_yes|total_no
我想要做的是根据post_date显示所有项目并在票数表中显示答案,以HIGHEST total_yes。所以我想只显示总票数最高的投票表中的单个答案。
我尝试:
SELECT a.*, b.* FROM Items a
INNER JOIN Votes b ON a.item_id = b.item_id
GROUP by a.item_id
ORDER by a.post_date DESC, b.total_yes DESC
但是,这并不工作。
我想看到的结果是:
<item><answer><yes votes>
Buick | Fastest | 2 yes votes
Mercedes | Shiny | 32 yes votes
Honda | Quick | 39 yes votes
任何帮助表示赞赏!
najmeddine的回答非常接近。但问题是如果一个项目没有投票,那么它没有显示。我想要做的是显示所有项目(即使投票表中没有投票)。 – 2009-09-15 09:10:51