所以即时创建一个集成脚本,但由于某种原因它没有显示已经过的结果。 我的问题是
SELECT xf_user_group_relation.user_id, xf_user_group_relation.user_group_id, MAX( xf_user_group.display_style_priority ) AS display_style_priority
FROM xf_user_group_relation
INNER JOIN xf_user_group ON xf_user_group_relation.user_group_id = xf_user_group.user_group_id
WHERE xf_user_group.display_style_priority >=1000
GROUP BY user_id
结果中出现意外的一行是
user_id | user_group_id | display_style_priority
86 | 11 |5200
ID为11的组具有display_style_priority 2000而不是5200.它应该使用display_style_priority 5200显示用户组ID。 这是该用户所在的排名最高的群组。 有人可以指出我做错了什么。
答案 0 :(得分:4)
尝试将GROUP BY更改为
GROUP BY
xf_user_group_relation.user_id, xf_user_group_relation.user_group_id
大多数其他DBMS会为该查询抛出错误,因为SELECT列表中的每一列都必须聚合或在GROUP BY中。
编辑:这是ANSI-SQL和其他RDBMS不允许这种语法
的一个很好的例子