Możesz użyć Case .. When
aby sprawdzić, czy points
jest więcej niż 10 dla konkretnego wiersza i odpowiednio je policz (za pomocą Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
W MySQL możemy go dalej skrócić jako Sum()
funkcja może po prostu rzutować wyniki operatorów/funkcji warunkowych na 0/1 (odpowiednio dla fałszu/prawdy):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team