SQLite将计数值作为条件

时间:2013-04-11 10:15:53

标签: sqlite count division

我目前正在研究一个SQLite查询,它必须向我回复所有能够完成游戏中每个角色的玩家。我目前有这个代码:

SELECT pr.name 
    FROM (SELECT DISTINCT p.name name, c.role role
            FROM players p, playerchampions pc, champions c 
                WHERE (p.name = pc.playername) & (pc.championname = c.name)) pr
                    WHERE COUNT(pr.name) = COUNT(DISTINCT pr.role)

我的想法是,我只是检查玩家是否可以履行与游戏中不同角色相同数量的角色,但是我误用了聚合函数COUNT()错误。我该怎么处理?

1 个答案:

答案 0 :(得分:0)

此查询可以这样写:

SELECT players.name
FROM players
JOIN playerchampions ON players.name = playerchampions.playername
GROUP BY players.name
HAVING COUNT(playerchampions.championname) = (SELECT COUNT(DISTINCT role)
                                              FROM champions)