我有一个类似于以下的查询:
SELECT users.id FROM users LEFT JOIN sales ON installations.customer = users.id
我想说的是“WHERE count(sales.id) > 4”之类的东西——这意味着如果用户有超过 4 个销售关联。我不确定我是否以错误的方式进行此操作
我有一个类似于以下的查询:
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
表中包含四个以上记录的销售。
我没有从上面复制您的连接条件,因为它似乎没有多大意义,因为它引用的表不在您的查询中。
我想你想要类似的东西
select users.id, count(sales.id)
from users
LEFT JOIN sales ON installations.customer = users.id
group by users.id
having count(Sales.id) > 5
您需要使用“group by”和“having”子句。
尝试
SELECT users.id FROM users LEFT JOIN sales ON installations.customer = users.id GROUP BY users.id HAVING count(sale.id) > 4
有关 W2C 上的更多GROUPBY,请参见此处