仅选择排名最高的组

时间:2011-07-04 09:29:31

标签: php mysql

所以我试图在我的XenForo论坛和Source Mod(Counter Strike mod)之间进行整合。 XenForo会保存成员所属的用户组。

| user_id | user_group_id | is_primary |

这意味着有些成员在该表中的时间超过1次,结果我希望每个成员最多只有一行,并且应该包含用户排名最高的组。

我对这种sql查询不是很有经验,所以如果有人可以帮助我,我会很高兴。

我想在结果中得到的组是5-12,5是排名最高的,12是排名最低的组。所有其他组不应该在结果中。

表格中的几行

user_id | user_group_id | is_primary
1 | 2 | 1
1 | 3 | 0
1 | 4 | 0
1 | 5 | 0
2 | 2 | 1
2 | 5 | 0
3 | 2 | 1
4 | 2 | 1
4 | 6 | 0

编辑:我想要的结果如下:如果表格只包含上面的行。

user_id | user_group_id
1 | 5
2 | 5
4 | 6

祝你好运

2 个答案:

答案 0 :(得分:2)

从顶部键入,但它应该完成这项工作:

SELECT user_id, ΜΙΝ(user_group_id) AS min_group_id
FROM users
WHERE user_group_id >= 5 && user_group_id <= 12
GROUP BY user_id

答案 1 :(得分:1)

select user_id, min(user_group_id)
from xf_user_group_relation
where max_group_id between 5 and 12
group by user_id