mysql - JOIN引起的重复

标签 mysql sql

我创建了一个简单的查询,其中包含一个 JOIN,这个 JOIN“制造”了一些重复项。

表用户:

UserID  Name
------  ----
1       Luis
2       Andre
3       Mark
4       Linda

表绑定(bind)组:

groupID UserID
------- ------
26      1
87      2
87      1
12      4
41      4
6       1
21      2
5       3

SQL 查询:

SELECT users.UserID FROM users
    LEFT JOIN bind_groups ON users.UserID = bind_groups.UserID
    WHERE groupID = 26 OR groupID = 87

结果将是:

UserID
------
1
2
1

如您所见,它返回 UserID = 1 两次(因为它出现了两次,在 groupID 26 和 groupID 87 中)。

如果想返回一次,而不是在群里出现的次数,怎么办?

谢谢。

最佳答案

select distinct users.UserID from users ...

它也不需要是左连接,你的 where 子句使它成为内连接

关于mysql - JOIN引起的重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008887/

相关文章:

mysql - 未使用 mysql 注释(<- 未声明)

Javascript - 循环显示一些未定义的数组

mysql - 2 个数据库之间更快的 mysql 查询

mysql - 多个表上的 SQL 请求

sql - 在具有特定值的连续行上定义一个窗口

mysql - 如何在vb6.0中以换行符连接sql查询?

python - FastCGI 或 Apache2 是否限制上传大小?

mysql:date + 1 在月份之间的交叉点不工作

一个数据库中从另一个数据库调用的 SQL 存储过程。背景是什么?

SQL 查询 : Fetch ordered rows from a table - II