テーブル内のすべての行に対して複数回表示される外部キーを検出し、サブクエリを介してそれらの外部キーを返そうとしています。
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