我想获取所有仅具有两个角色的用户,即 1 和 4。
一个用户角色的存储方式如下:
user_id role_id
54321 1
54321 4
54322 1
54323 1
我如何进行查询来获取 user_id 54321,因为它只有两个角色,这两个角色是 1 和 4?
我可以使用 WHERE role_id IN (1, 4),但这也会获取具有其他角色的用户。
最佳答案
WHERE role_id IN (1, 4) GROUP BY user_ID HAVING COUNT(DISTINCT role_id) = 2
http://gregorulm.com/relational-division-in-sql-the-easy-way/
关于MySQL:选择所有只有两行的行,有具体值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18707775/