mysql - 如何使用mysql计算所有帖子的投票总数
问题描述
发布表 2 列:postid、问题
答案表 4 列:ansid (PK)、postid、userid、answer
投票表 4 列:postid、userid、ansid、upvote
单个帖子的总赞成票
SELECT sum(votes.upvote) as 'totalupvote' FROM `answers`
JOIN post on post.postid=answers.postid
JOIN votes on votes.ansid=answers.ansid
WHERE post.postid='1'
如何计算所有帖子的赞成票总数?
解决方案
如果您想要每个总数postid
:
SELECT postid, sum(upvote) as sumupvote
FROM votes
GROUP BY postid
如果您还想要该question
列:
select p.postid, p.question, v.sumupvote
from post p inner join (
SELECT postid, sum(upvote) as sumupvote
FROM votes
GROUP BY postid
) v on v.postid = p.postid
推荐阅读
- sql - 视图中的重复行并为每个重复行提供一个新 ID
- android - android片段中onNewIntent()的替换方法
- reactjs - 在反应本机滚动视图中滚动到底部
- ffmpeg - 用于存档和可转换性的 ffmpeg
- javascript - 通过响应获取角色,无需指定 ID,以便您可以在多个服务器上使用该命令
- python - 使用 Python 递归地获取前 n 行
- nlp - spacy中意大利语的相似性方法不起作用
- c# - System.Linq.Dynamic.Core - 查询嵌套对象
- python - 使用 Google Cloud Run 时如何访问已装载的机密?
- postgresql - 如何在postgres中转置查询结果