Du kan använda Case .. When
för att kontrollera om points
är fler än 10 för en viss rad, och räkna den därefter (med Sum()
).
SELECT COUNT(*) as total,
SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners,
team
FROM users
GROUP BY team
I MySQL kan vi förkorta det ytterligare som Sum()
funktion kan helt enkelt casta resultat av villkorliga operatorer/funktioner till 0/1 (för falskt/sant respektive):
SELECT COUNT(*) as total,
SUM(points > 10) AS winners,
team
FROM users
GROUP BY team