Você pode usar
Case .. When
para verificar se points
são mais de 10 para uma linha em particular, e conte-os de acordo (usando Sum()
). SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
No MySQL, podemos reduzi-lo ainda mais como
Sum()
função pode simplesmente converter resultados de operadores/funções condicionais para 0/1 (para falso/verdadeiro respectivamente):SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team