2012-04-17 79 views
1

我在MySQL數據庫中有一個表,我想從中選擇唯一的行數。我當前的表有3列名爲user_id,image_id和is_like。我需要列出所有user-id的計數等於221的用戶 。例如,對於特定用戶19,列user_id中的計數19必須爲221。我寫了下面的代碼,但它給我的形式一個錯誤的答案:根據計數標準在MySQL中選擇行時出錯

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

它給了我一個錯誤

1111 - 無效使用組功能。

+0

你想達到什麼,你的問題是相互矛盾的。 – 2012-04-17 09:58:42

回答

2

您的查詢應該是

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

您需要使用HAVING,不WHERE

WHERE子句過濾選擇哪些行。然後對這些行進行分組,然後這些數字(在userid列中)是COUNT函數的總和。

HAVING就像WHERE,只有在計算出COUNT值後纔會發生。

+0

按用戶ID分組將不會給COUNT(用戶ID)爲221。所以你的querry結果將是空的。 – 2012-04-17 09:58:14

0

我認爲你要找的是一個HAVING子句。你可以谷歌!