2012-04-17 11 views
1

私は現在のテーブルにuser_id、image_id、is_likeの3つのカラムがあります。 user-idの数が221に等しい ユーザーをすべて列挙する必要があります。たとえば、特定のユーザー19の場合、19の数はuser_id列の221でなければなりません。私は、次のコードを書かれているが、それは私のフォームで間違った答えを与える:カウント基準に従ってMySQLの行を選択している間にエラーが発生しました

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

それは私にエラー

1111与えます - グループ機能の無効な使用を。

+0

達成したいことは、あなたの質問が矛盾していることです。 –

答えて

2

あなたのクエリはあなたがHAVING、ないWHEREを使用する必要が

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

でなければなりません。

WHERE句は、選択された行をフィルタリングします。次に、行がグループ化され、COUNT関数の数値(userid列)が集計されます。

HAVINGWHEREと同じですが、COUNT値が計算された後にのみ発生します。

+0

ユーザIDでグループ化すると、COUNT(ユーザID)が221になりません。だからあなたのquerryの結果はnullになります。 –

0

あなたが探しているものはHAVING節ですと思います。あなたはそれをGoogleにすることができます!

関連する問題