帮助mysql查询

And*_*dez 4 mysql

对于这个问题的特殊性我很抱歉,但我已经48小时了,现在我的思绪可能已经无效了.

所以,我有一个表 - > id | userid | card
,用户可以拥有多张牌

我只需要查询表,找到具有24个不同卡的用户ID(有重复卡的用户).

有谁可以帮助我吗?

谢谢

The*_*ter 10

SELECT UserID
FROM tableName
GROUP BY UserID
HAVING COUNT(*) = 24
Run Code Online (Sandbox Code Playgroud)

请参见GROUP BY(聚合)函数

更新:查找具有24个不同卡的用户:

SELECT UserID
FROM (
    SELECT UserID
    FROM tableName
    GROUP BY UserID, Card
) rs
GROUP BY UserID
HAVING COUNT(*) = 24
Run Code Online (Sandbox Code Playgroud)

或者:

SELECT UserID
FROM tableName
GROUP BY UserID
HAVING COUNT(DISTINCT Card) = 24
Run Code Online (Sandbox Code Playgroud)