1

MySQL データベースに一意の行数を選択するテーブルがあります。現在のテーブルには、user_id、image_id、is_like という名前の 3 つの列があります。user-id のカウントが 221 に等しいすべてのユーザーをリストする必要があります。次のコードを書きましたが、フォームで間違った答えが得られます。

SELECT * FROM `votes` WHERE COUNT(userid)=221 GROUP BY userid

それは私にエラーを与える

1111 - グループ機能の無効な使用。

4

2 に答える 2

2

Your query should be

SELECT * FROM `votes` GROUP BY userid HAVING COUNT(userid) = 221

You need to use HAVING, not WHERE.

The WHERE clause filters which rows are selected. The rows are then grouped, then the numbers (in userid column) are the aggregated for the COUNT function.

HAVING is like WHERE, only it happens after the COUNT value has been calculated.

于 2012-04-17T09:43:41.507 に答える
0

あなたが探しているのはHAVING句だと思います。あなたはそのためにグーグルすることができます!

于 2012-04-17T09:45:14.497 に答える