mysql - 如何检查哪个 ID 具有另一个属性的所有不同值?

标签 mysql sql select

我有一个这样的表:

+--------+--------+
| userID | itemID |
+--------+--------+
|      1 |      3 |
|      1 |      4 |
|      2 |      3 |
|      2 |      4 |
|      3 |      4 |
+--------+--------+

我正在尝试选择所有具有所有不同 itemID 的用户 ID。 意思是,如果我将来要扩展 itemID 以使其也具有 itemID 5,则相同的查询将选择具有 itemID 3、4 和 5 的所有用户 ID。

我已经为这个问题苦苦挣扎了几个小时,但没有找到我正在寻找的一般查询。我将不胜感激我能得到的所有帮助!

最佳答案

这是一种方法:

select userid
from t
group by userid
having count(distinct itemid) = (select count(distinct t2.itemid) from t t2);

关于mysql - 如何检查哪个 ID 具有另一个属性的所有不同值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769536/

相关文章:

php - 如何创建多级类别层次结构(类别树) - codeigniter

mysql - sha512-crypt mysql 和 dovecot

PHP 数组向后输出

c - 具有多个客户端的 tcp 服务器将消息发送回所有连接的客户端

mysql - 从四个表中选择计数

MySQL:没有项目的员工和没有员工的项目

sql - Spark SQL : NULL handling in IF

sql - mdx中元组和集合的区别

mysql - 如何查询 sql 以获取每个用户的最新记录日期和时间

CSS 选择框已禁用 STLying 未重置