mysql - Count() 使用 Where 子句和 Left Join

标签 mysql join count where-clause

我有一个类似于以下的查询:

SELECT users.id FROM users LEFT JOIN sales ON installations.customer = users.id

我想说的是类似“WHERE count(sales.id) > 4”的内容 - 意思是如果用户与他们有超过 4 个销售关联。我不确定我是否以错误的方式进行此操作

最佳答案

select
    users.id

from users

join sales on /* your join condition here */

group by users.id

having count(sales.id) > 4

这将按用户对所有销售进行分组,然后仅返回在 sales 表中有超过四条记录的销售。

我没有从上面复制你的连接条件,因为它似乎没有多大意义,因为它引用的表不在你的查询中的任何地方。

关于mysql - Count() 使用 Where 子句和 Left Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395825/

相关文章:

MySQL匹配行值集

mysql - 如何使用两个索引对 MySQL 表进行分区

php - 1054 完全连接中的未知列,但不是其他连接

MYSQL:如何在同一查询中联接两个表,两次引用同一个表

c# - 使用两个参数 (string, int) 定义字符串输出中特定字符的最大数量

orm - JPA 2.0 : count for arbitrary CriteriaQuery?

php - 如何检查特定日期是否在两个不同日期之间?

mysql - MySQL检查一个字段是否存在多个值

mysql - 帖子和标签 - 加入限制

algorithm - 概率算法 : Finding probable correct item in a list (e. g John, John, Jon)