pid fid
6   19
7   19
8   19
9   19
7   30
6   30


我有一张这样的桌子。我想选择重复的行,
当我使用IN子句发送19、30个ID时:

Select pid from tablename where fid IN (19,30);


我想要这些结果

pid
7
6


有没有mysql语句来获得这些结果?

最佳答案

SELECT pid
FROM tableName
WHERE fid IN (19,30)
GROUP BY pid
HAVING COUNT(*) = 2


如果未在每个fidpid上定义唯一约束,则需要在DISTINCT内包含COUNT

SELECT pid
FROM tableName
WHERE fid IN (19,30)
GROUP BY pid
HAVING COUNT(DISTINCT fid) = 2



SQLFiddle Demo

关于php - mysql使用where获取重复行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13394904/

10-12 00:22
查看更多