MySQL查询选择具有5个或更高成员的组

时间:2017-02-28 09:35:56

标签: mysql

我有团体和成员,我现在需要检查每个团体是否有5名成员或更高。所以我需要的只是一行或不行。 这是我到目前为止所尝试的:

SELECT groups.id, COUNT( user_groups.user_id ) as group_user_count
FROM groups
INNER JOIN user_groups ON user_groups.group_id = groups.id
WHERE groups.id = $group_id AND IFNULL(group_user_count, 0) >= 5;

但这给了我group_user_count

的未知列

修改

表结构设计:

groups:
- id (PK)

users:
- id (PK)
- name

user_groups:
- id (PK)
- user_id (FK)
- group_id (FK)

但我认为Forward的答案将解决我的问题。

1 个答案:

答案 0 :(得分:1)

where子句中,您不应使用列别名,请尝试使用having

SELECT groups.id, COUNT( user_groups.user_id ) as group_user_count
FROM groups
INNER JOIN user_groups ON user_groups.group_id = groups.id
WHERE groups.id = $group_id 
HAVING IFNULL(group_user_count, 0) >= 5;