加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 选择已投票但从不投票的用户

发布时间:2020-12-11 23:50:12 所属栏目:MySql教程 来源:网络整理
导读:所以,在我遇到这个想法之前,我认为我对MySQL非常擅长: 我有一个表用这些字段记录“投票”(恰当地命名为投票): id:投票的唯一ID. user:投票人的唯一用户ID item:他们投票的项目的ID 投票:投票他们投票SET(上,下) 现在,我正在尝试用SQL方法来查找只有投

所以,在我遇到这个想法之前,我认为我对MySQL非常擅长:

我有一个表用这些字段记录“投票”(恰当地命名为投票):

> id:投票的唯一ID.
> user:投票人的唯一用户ID
> item:他们投票的项目的ID
>投票:投票他们投票SET(‘上’,’下’)

现在,我正在尝试用SQL方法来查找只有投票结果的用户.我知道一种方法在查询表中的大部分数据之后在php中以程序方式编写它,但是当只有少数查询可以找到它时,这样做真的非常非常低效.

理想情况下,我希望我的结果只是一个有0个upvotes的用户列表(因为在表中意味着他们已经投票,所以他们只是downvote)可能是他们投下的downvotes的数量.

关于如何处理这个问题的任何想法?

最佳答案
SELECT user,SUM(IF(vote='down',1,0)) AS numDownVotes
FROM votes
GROUP BY user
HAVING SUM(IF(vote='up',0))=0   -- 0 upvotes
   AND SUM(IF(vote='down',0))>0 -- at least 1 downvotes

我不禁觉得有一个整洁的GROUP BY用户,投票的方式来做到这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读