我有 2 张桌子。一个是项目,另一个是对这些项目的投票。
Items table has: |item_id|name|post_date
Votes table has: |votes_id|item_id|answer|total_yes|total_no
我想要做的是显示基于 post_date 的所有项目,并在投票表中显示具有最高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
任何帮助表示赞赏!
SELECT a.*, b.*
FROM Items a
LEFT JOIN Votes b on a.item_id = b.item_id
and b.total_yes = (select max(total_yes)
from Votes v
where v.item_id = a.item_id)
ORDER BY a.post_date DESC, b.total_yes DESC
注意:如果某个项目有 2 个答案具有相同的 Total_yes = max,则该项目将有 2 行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)