2015-02-10 55 views
-1

在我與關係表>行隊表爲它的球員MYSQL:如何在WHERE子句中使用分組SUM()的結果作爲條件?

每隊有3個或更多的玩家 與球隊相關的每個玩家都有一個分列

我需要檢索只有團隊W/C已積累了300或更高

我已經到了這一點,到目前爲止玩家分數:

enter image description here

P使用這個方法會返回一個包含TEAMs表中所有行的結果集。

enter image description here

我如何讓它返回結果僅總和>比,也就是說,300?

我嘗試添加:

**WHERE total_points >= '300'** 

但很明顯,它返回一個 「未知列」 的錯誤。

任何想法?

PS 我可以很容易地得到我通過PHP>循環想要的,但它在服務器資源這樣的浪費是裝載團隊的行數千元僅僅得到滿足一個條件的幾個..

+0

可能重複的[其中Vs HAVING](http://stackoverflow.com/questions/2905292/where-vs - ) – 2015-02-10 14:50:53

+0

也是這樣的:[在WHERE子句中使用mysql SUM()](http://stackoverflow.com/questions/3284409/use-mysql-sum-in-a-where-clause) – 2015-02-10 14:53:17

+0

不錯。多謝你們! – BrownChiLD 2015-02-10 23:00:22

回答

1

使用having子句..它適用於分組。 (類似的地方)

所以後的組把具有總和(players.points)> 300

1

嘗試使用具有子句代替WHERE

HAVING total_points >= 300 
+0

不錯。非常感謝 – BrownChiLD 2015-02-10 23:00:47