所以,在我遇到这个想法之前,我认为我对MySQL非常擅长:
我有一个表用这些字段记录“投票”(恰当地命名为投票):
> ID:投票的唯一ID.
> user:投票人的唯一用户ID
> item:他们投票的项目的ID
>投票:投票他们投票SET(‘上’,’下’)
现在,我正在尝试用sql方法来查找只有投票结果的用户.我知道一种方法在查询表中的大部分数据之后在PHP中以程序方式编写它,但是当只有少数查询可以找到它时,这样做真的非常非常低效.
理想情况下,我希望我的结果只是一个有0个upVotes的用户列表(因为在表中意味着他们已经投票,所以他们只是downVote)可能是他们投下的downVotes的数量.
关于如何处理这个问题的任何想法?
最佳答案SELECT user,SUM(IF(Vote='down',1,0)) AS numDownVotesFROM VotesGROUP BY userHAVING SUM(IF(Vote='up',0))=0 -- 0 upVotes AND SUM(IF(Vote='down',0))>0 -- at least 1 downVotes
我不禁觉得有一个整洁的GROUP BY用户,投票的方式来做到这一点. 总结
以上是内存溢出为你收集整理的php – 选择已投票但从不投票的用户全部内容,希望文章能够帮你解决php – 选择已投票但从不投票的用户所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)