表:
id user_id guessed_id result
1219 27 4 Y
1357 20 4 Y
2 3 5 N
9 20 5 N
1392 20 11 Y
1618 27 11 N
2471 20 25 Y
我想构建一个查询,只获取具有值Y的2个结果的guessed_ids。
在上面的行中,查询应返回:
4
因为包含guessed_id 4的行在列结果中都有Y.
不应该返回guessed_id 5,因为它包含2 N
不应该返回11,因为它有N
不应该返回25,因为它只有一个Y
我正在使用mysql DBMS。
答案 0 :(得分:0)
GROUP BY
/ HAVING
会执行您想要的操作,只计算Y
的数量并返回计数为2的guessed_id
s ;
SELECT guessed_id
FROM myTable
WHERE result='Y'
GROUP BY guessed_id
HAVING COUNT(*)=2
我不确定您的示例是否允许点击任何N
结果,我认为只要有{{1}的确切行数,它们就不相关}。