选择在另一个字段中具有相同值的项目

时间:2019-04-23 00:06:24

标签: mysql sql node.js

对不起,我对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';

这不适用于我的情况。

有什么主意吗?

1 个答案:

答案 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