我试图发现表中所有行多次出现的外键,并通过子查询返回这些外键。
在列上使用GROUP BY
我能够可视化COUNT
每个外键:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
但是当我用 WHERE 子句增加它以尝试过滤时,如下所示:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
WHERE count > 1
我收到一个错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE count > 1 LIMIT 0, 30' at line 4
显然在评估count
时没有资格进行比较?WHERE
:发布答案更新:
感谢您的快速回复!HAVING
正是我所缺少的。我发现这个问题有助于扩展主题:WHERE vs HAVING