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

uqdfh47h  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(337)

我有一个用户表,其中包含以下数据:

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结果中不需要的那些电子邮件。

1rhkuytd

1rhkuytd1#

使用组concat和having

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

6yoyoihd2#

我想你想要的用户都在这三个网站。如果是:

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

相关问题