對於這個問題的特殊性,我很抱歉,但我已經過了48小時,現在我的想法可能是空的。有關mysql查詢的幫助
所以,我有一個表 - > ID |用戶ID |卡
其中一個用戶可以擁有多個卡
我只需要查詢表發現,有整整24不同卡的用戶ID(有用戶重複卡片)。
有人可以幫我嗎?
謝謝
對於這個問題的特殊性,我很抱歉,但我已經過了48小時,現在我的想法可能是空的。有關mysql查詢的幫助
所以,我有一個表 - > ID |用戶ID |卡
其中一個用戶可以擁有多個卡
我只需要查詢表發現,有整整24不同卡的用戶ID(有用戶重複卡片)。
有人可以幫我嗎?
謝謝
SELECT UserID
FROM tableName
GROUP BY UserID
HAVING COUNT(*) = 24
見GROUP BY (Aggregate) Functions
更新:地發現,有24張不同的卡的用戶:
SELECT UserID
FROM (
SELECT UserID
FROM tableName
GROUP BY UserID, Card
) rs
GROUP BY UserID
HAVING COUNT(*) = 24
或者:
SELECT UserID
FROM tableName
GROUP BY UserID
HAVING COUNT(DISTINCT Card) = 24
select * from
(select count(*) cnt,card from tablename group by card)
where cnt=24
我認爲OP希望找到有24張卡的用戶,而不是有24個用戶的卡。 –
SELECT userid FROM (
SELECT userid, count(*) as cnt FROM some_table GROUP BY userid
) WHERE cnt = 24
謝謝,那肯定會工作,如果我沒有搞砸我的問題。你可以看看我的編輯? –
你是男人。謝謝 –