gpt4 book ai didi

mysql - 选择数据库中重复出现的字段

转载 作者:行者123 更新时间:2023-11-29 23:56:22 25 4
gpt4 key购买 nike

首先,我对 mySQL 非常陌生,所以我不确定我正在尝试的是否可行。我的网站上有 2 个问题,其答案作为 id(第一个问题:yes=1,no=2;第二个问题:yes=3,no=4)注入(inject)名为 pollOptionId 的列中。我可以找到对每个问题都回答"is"的人,但不知道如何找到对第一个问题回答"is"以及对第二个问题回答"is"的人。

做一个

select * from poll_question
where pollOptionId = 1
or pollOptionId = 3

显示所有回答了这两个问题的人,我想要的是找出那些说过1和3的人。我可以手动检查,因为我在 table 上有一个memberId列,所以例如说两个问题的人都有我可以看出,memberId 显示了两次!

所以我真正想要的是

select * from poll_question
where pollOptionId = 1
or pollOptionId = 3
WHERE THE MEMBERID OCCURS TWICE

显然最后一行的语法不正确,但有助于演示我想要的内容!

真的希望一切都有意义!非常感谢

最佳答案

你想要一个having子句..根据用户的数据进行分组..又名用户名user_id,无论是什么..然后说当分组后恰好有两条记录匹配时,它们的pollOptionId为1和3

SELECT * 
FROM poll_question
WHERE pollOptionId = 1
OR pollOptionId = 3
GROUP BY memberid
HAVING COUNT(*) = 2

另一种可能的方法是这样..

SELECT * 
FROM poll_question
WHERE pollOptionId = 1
AND memberid IN(SELECT memberid FROM poll_question WHERE pollOptionId = 3)

关于mysql - 选择数据库中重复出现的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25310945/

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