作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的网站上有投票系统,它将每个用户的投票存储在名为 skmp_voting 的表中,该数据库中的每条记录都有 id、item_id (这是文章用户投票的 id)和 vote_value 。 vote_value 取决于用户做了什么,如果他们投票赞成,则值为“1”,如果他们反对,则值为“-1”。
我有 toparticles.php 页面,我不想在其中显示热门文章,所以有更多赞的文章。这是我的 mysql 查询,用于获取我现在拥有的热门文章:
SELECT stories.*, skmp_votes.vote_value FROM stories
JOIN skmp_votes ON stories.id = skmp_votes.item_id
ORDER BY skmp_votes.vote_value DESC
它从另一个名为stories 的表中选择文章信息,并将其与skmp_votes 表中的vote_value 进行比较。
我非常确信这是不对的,因为它选择了等于 1 或其他值的 vote_value,所以我需要以某种方式将所有 vote_values 一起计算,然后使用 mysql 查询来获取热门文章。
最佳答案
这取决于您的投票表。正如我想象的那样,它每张选票都有一行。在这种情况下,您必须对与文章匹配的选票求和。即
SELECT SUM(vote_value) as 'total_votes' FROM skmp_voting WHERE item_id='$article_id';
您使用 SUM
而不是 COUNT
是因为您想从反对票中减去该值。
编辑:补充答案
以下查询将为您获取每篇文章及其总票数,按总票数排序(票数最高的文章在顶部)
SELECT stories.*, SUM(skmp_votes.vote_value) as 'total_votes' FROM stories
JOIN skmp_votes ON stories.id = skmp_votes.item_id
ORDER BY skmp_votes.total_votes DESC
要获得投票最多的 5 篇文章,您只需在末尾添加 LIMIT 5
关于php - 如何一起计算 UP 票,然后按 UP 票从数据库 ORDER 中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7456043/
我是一名优秀的程序员,十分优秀!