这段sql代码抛出了一个
其中不允许使用聚合函数
SELECT o.ID , count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID
WHERE count(p.CAT) > 3
GROUP BY o.ID;
我怎样才能避免这个错误?
这段sql代码抛出了一个
其中不允许使用聚合函数
SELECT o.ID , count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID
WHERE count(p.CAT) > 3
GROUP BY o.ID;
我怎样才能避免这个错误?
将WHERE
条款替换为HAVING
,如下所示:
SELECT o.ID , count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID
GROUP BY o.ID
HAVING count(p.CAT) > 3;
HAVING
与WHERE
类似,两者都用于过滤结果记录,但HAVING
用于过滤聚合数据(当使用GROUP BY
时).