1

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

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

我想说的是“WHERE count(sales.id) > 4”之类的东西——这意味着如果用户有超过 4 个销售关联。我不确定我是否以错误的方式进行此操作

4

3 回答 3

4
select
    users.id

from users

join sales on /* your join condition here */

group by users.id

having count(sales.id) > 4

这将按用户对所有销售进行分组,然后仅返回sales表中包含四个以上记录的销售。

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

于 2009-09-08T19:23:42.420 回答
0

我想你想要类似的东西

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
于 2009-09-08T19:25:12.620 回答
0

您需要使用“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,请参见此处

于 2009-09-08T19:26:28.403 回答