MYSQL: 如何将分组 SUM() 的结果用作 WHERE 子句中的条件?
MYSQL: How to use the result of a grouped SUM() as condition in WHERE clause?
在我的 Table TEAMS 中,其 PLAYERS
具有关系 table> 行
每队有3名或更多球员
与球队相关的每个球员都有一个积分栏
我只需要检索 TEAM w/c 的球员积分达到或超过 300
到目前为止我已经走到这一步了:
问题在于 return 结果集包含 TEAM table 中的所有行 table。
只有当 SUM 大于 300 时,我如何才能得到 return 结果?
我尝试添加:
**WHERE total_points >= '300'**
但显然 return 是一个 "unknown column" 错误。
有什么想法吗?
PS
我可以很容易地通过 PHP > 循环得到我想要的东西,但是加载成千上万的团队行只是为了得到一些符合条件的东西,这对服务器资源来说是一种浪费..
尝试使用 HAVING 子句而不是 WHERE
HAVING total_points >= 300
使用 having 子句..它适用于分组。 (类似于哪里)
所以组放后 having sum(players.points)>300
在我的 Table TEAMS 中,其 PLAYERS
具有关系 table> 行每队有3名或更多球员 与球队相关的每个球员都有一个积分栏
我只需要检索 TEAM w/c 的球员积分达到或超过 300
到目前为止我已经走到这一步了:
问题在于 return 结果集包含 TEAM table 中的所有行 table。
只有当 SUM 大于 300 时,我如何才能得到 return 结果?
我尝试添加:
**WHERE total_points >= '300'**
但显然 return 是一个 "unknown column" 错误。
有什么想法吗?
PS 我可以很容易地通过 PHP > 循环得到我想要的东西,但是加载成千上万的团队行只是为了得到一些符合条件的东西,这对服务器资源来说是一种浪费..
尝试使用 HAVING 子句而不是 WHERE
HAVING total_points >= 300
使用 having 子句..它适用于分组。 (类似于哪里)
所以组放后 having sum(players.points)>300