gpt4 book ai didi

php - 如何一起计算 UP 票,然后按 UP 票从数据库 ORDER 中选择

转载 作者:行者123 更新时间:2023-11-29 00:53:05 26 4
gpt4 key购买 nike

我的网站上有投票系统,它将每个用户的投票存储在名为 skmp_voting 的表中,该数据库中的每条记录都有 iditem_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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com