对不起,我对mysql还是很陌生,所以请多多包涵。假设我有
main other
teacherloh@gmail.com 1
teacherken@gmail.com 2
teacherhoh@gmail.com 3
teacherjoe@gmail.com 2
teachersoh@gmail.com 4
teacheroh@gmail.com 5
由于Teacherken@gmail.com和Teacherjoe@gmail.com具有相同的other
值,即2。我想选择并返回这两封电子邮件。
我尝试使用
SELECT GROUP_CONCAT(DISTINCT main) as main_set, other
FROM yourTable
GROUP BY other
HAVING GROUP_CONCAT(DISTINCT main)='A,B';
这不适用于我的情况。
有什么主意吗?
答案 0 :(得分:0)
我正在考虑一个简单的where
就可以了:
SELECT t.*
FROM yourTable *
WHERE t.other = 2;
如果您要查找重复项,可以执行以下操作:
SELECT other, GROUP_CONCAT(DISTINCT main) as main_set
FROM yourTable t
GROUP BY other
HAVING COUNT(DISTINCT main) > 1;
我不知道DISTINCT
是否必要。如果您的原始表不能重复,请删除DISTINCT
。