mysql-在所有站点中查找唯一用户

时间:2018-10-02 12:03:26

标签: mysql sql

我有包含以下数据的用户表:

user_id      site_unique_id    user_email
1            1                 steve@gmail.com
2            2                 steve@gmail.com
3            3                 steve@gmail.com
4            1                 mark@gmail.com
5            3                 mark@gmail.com
6            1                 jack@gmail.com
7            2                 jack@gmail.com
8            3                 jack@gmail.com
9            1                 smith@gmail.com
10           2                 smith@gmail.com

我想通过mysql查询来获取存在于所有3个站点中的用户电子邮件,即

email_id           site_unique_id
steve@gmail.com    1,2,3
jack@gmail.com     1,2,3

上述数据标记和杰克分别在站点2和3中不存在,而在SQL结果中不需要的那些电子邮件。

2 个答案:

答案 0 :(得分:1)

我认为您希望所有三个网站中的用户。如果是这样:

select user_email, group_concat(site_unique_id order by site_unique_id) as sites
from t
group by user_email
having count(*) = 3;

答案 1 :(得分:1)

使用group_concat并拥有

select user_email, group_concat(site_unique_id SEPARATOR ',')
from tablename
group by user_email
having count(*)=3