gpt4 book ai didi

php - SELECT 已投反对票但从未投过赞成票的用户

转载 作者:可可西里 更新时间:2023-11-01 06:59:02 24 4
gpt4 key购买 nike

所以,在我遇到这个想法之前,我认为我的 MySQL 已经相当不错了:

我有一个记录“投票”(恰如其分地命名为 votes)的表,其中包含以下字段:

  • id:投票的唯一ID。
  • user:投票者的唯一用户 ID
  • item:他们投票的项目的 ID
  • vote:他们投的票 SET('up','down')

现在,我正在尝试提出一种 SQL 方法来查找唯一投反对票的用户。我知道一种在从表中查询大部分数据后在 php 中按程序编写它的方法,但是当只有少数查询可以找到它时,这样做似乎真的非常低效。

理想情况下,我希望我的结果只是一个拥有 0 个赞成票的用户列表(因为在表中意味着他们已经投票,所以他们只投反对票),也许还有他们投下反对票的数量。

关于我应该如何处理这个问题有什么想法吗?

最佳答案

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

不过,我忍不住觉得有一种简洁的GROUP BY user, vote 方法可以做到这一点。

关于php - SELECT 已投反对票但从未投过赞成票的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627768/

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