获取COUNT值取决于子查询

时间:2016-03-24 19:46:48

标签: mysql sql database

SELECT
    salesman_id,
    COUNT(sale_id)
FROM
    Commission
GROUP BY
    salesman_id
HAVING
    salesman_id IN (select... *subqueries*

COUNT(sale_id)为我提供了sales_ids的数量,无论子查询, 虽然我想在子查询完成后>之后的sale_ids数量。为什么这不是COUNT的情况,我该如何解决?

example

what i get

我想要的是什么:

1 | 2
6 | 1

3 个答案:

答案 0 :(得分:0)

如果您想限制查询处理的结果,则需要在WHERE子句中执行此操作。

HAVING子句是在执行聚合后发生的过滤。

尝试将子查询移到WHERE子句中。

答案 1 :(得分:0)

谢谢你们,它有效!

这是如何:

已移除having,已将group by移至最后

WHERE 
    sale_id IN (select... *subqueries*

答案 2 :(得分:0)

试试这个:

SELECT
    salesman_id,
    COUNT(sale_id)
FROM
    Commission
WHERE 
    salesman_id IN (select... *subqueries*)
GROUP BY
    salesman_id