如果我有一个帖子类型帖子,其中有很多投票,看起来像这样:
post: [id, title, content]
votes: [my_vote, post_id, user_id]
其中my_vote可以说是-1,0或1.
如何列出my_vote总和所订购的所有帖子?我是否可以用雄辩的方式做到这一点,还是我必须能够流利地使用JOINS?我想做点什么
->orderBy(sum("votes-for-the-idea"))
此外,我仍然需要访问个人投票(特别是当前用户的投票)。
答案 0 :(得分:0)
select post.*,
sum(votes.my_vote) as vote_num,
count(distinct votes.user_id) as user_vote_num
from post
left join votes
on post.id = votes.post_id
group by post.id
order by vote_num desc