我有一个存储调查答案的表,我正在尝试查询 mysql 以告诉我调查是否由答案字段 = 16 或 20 的人回答
mysql语句如下
SELECT DISTINCT(submissionID) as submissionID FROM answer
WHERE EXISTS (
SELECT *
FROM answer
WHERE submissionID = submissionID AND (answer = '16' OR answer = '20')
)
在这里编辑
抱歉,我认为我的问题没有说对,所以这是我的表结构:
CREATE TABLE IF NOT EXISTS `answer` (
`aID` int(11) NOT NULL AUTO_INCREMENT,
`sID` int(11) NOT NULL,
`qtID` int(11) NOT NULL,
`answer` text NOT NULL,
`userIP` text NOT NULL,
`submissionID` int(11) NOT NULL,
PRIMARY KEY (`aID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=422 ;
aID
是给定的每个答案的唯一 IDsID
是调查 ID(因为我可能有多个调查)qtID
为questionsID值answer
是用户给这个调查的qtID
的答案userIP
是可以 self 解释的submissionID
是每次提交的 ID
所以我知道在这个表中有 5 个唯一的 submissionID 但只有一个 submssionID
答案字段 = 16
和 20
最佳答案
我认为您的查询过于复杂,试试这个:
SELECT DISTINCT submissionID FROM answer
WHERE answer IN ('16', '20');
关于带有内部查询的mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885415/