Puede usar Case .. When
para comprobar si points
son más de 10 para una fila en particular, y cuéntelos en consecuencia (usando Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
En MySQL, podemos acortarlo aún más como Sum()
la función puede simplemente convertir los resultados de operadores/funciones condicionales a 0/1 (para falso/verdadero respectivamente):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team