繁体   English   中英

如何过滤具有多行的用户,其中 row1="value1" 和 row2="condition2", ... 在 SQL 中?

[英]How to filter users that have multiple rows where row1="value1" and row2="condition2", ... in SQL?

A有以下数据

id user_id visited_country
1  12      Spain 
2  12      France
3  14      England
4  14      France
5  16      Canada
6  14      Spain 
7  16      Mexico

我想要 select 所有访问过西班牙法国的用户,不包括访问过英国的用户。 我怎样才能在 MySQL 中做到这一点?

一种聚合方法可能是:

SELECT user_id
FROM yourTable
GROUP BY user_id
HAVING SUM(visited_country = 'Spain') > 0 AND
       SUM(visited_country = 'France') > 0 AND
       SUM(visited_country = 'England') = 0;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM